Python加密生成so文件与dll

Python加密

如何封装Python代码,让别人方便调用,同时又能起到加密的作用,本文介绍如何封装成so文件和dll文件以及调用方式

  • 首先需要配置环境 安装Cython gcc

Linux下的.so文件

  • 创建要封装的文件mytest.py
import datetime
class DataCenter():def gettime(self):print(datetime.datetime.now())def write_data(self):print("hello XiaoBei!")
  • 创建调用文件 so_test.py
from mytest import DataCenterdata = DataCenter()
data.gettime()
data.write_data()

运行so_test.py,证明程序正常

  • 创建打包文件 setup.py
from distutils.core import setup
from Cython.Build import cythonize
#[]内是要打包的文件名,也可多个文件
setup(ext_modules = cythonize(["mytest.py"]))
  • 执行python3 setup.py build_ext

在当前目录下生成build文件夹和mytest.c文件,.so文件就在build文件夹内

  • 将so_test.py文件放到so目录下,运行,即可得到结果

Windows下将Python封装成pyd文件

pyd就是dll

  • mytest.py 和dll_test.py和上面一样
  • 创建setupDll.py
# !/usr/bin/env python
# -*- coding: utf-8 -*-
from distutils.core import setup
from Cython.Build import cythonize
from distutils.extension import Extensiondef main():# 这里为文件名 可以增加多个Extension('  ', ['  '])extensions = [Extension('mytest', ['mytest.py'])]setup(ext_modules=cythonize(extensions))if __name__ == '__main__':main()
  • 在pycharm的terminal下输入Python setupDll build_ext,得到pyd文件

  • 在build文件夹下得到.pyd文件调用方式不变
# !/usr/bin/env python
# -*- coding: utf-8 -*-#如果不想改变pyd路径,则需要在dll_test.py中加入:
import sys
sys.path.append('./build/lib.win-amd64-3.7/')
from mytest import DataCenter
def main():data = DataCenter()data.gettime()data.write_data()if __name__ == '__main__':main()   
  • 运行得到结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/143047.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

用 Python 加密文件

生活中,有时候我们需要对一些重要的文件进行加密,Python 提供了诸如 hashlib,base64 等便于使用的加密库。 但对于日常学习而言,我们可以借助异或操作,实现一个简单的文件加密程序,从而强化自身的编程能力。…

python 算法加密

加密代码片段样例 文件名:iter_n.py import timedef iter_from_n(n):list_n []for index,value in enumerate(range(n)):list_n.append([index,value])return list_nif __name__"__main__":t1 time.time()iter_from_n(100000)t2 time.time()print (&…

Python加密word文档

大家好,这里是滑稽研究所。本期我们需要完成一个对word文档加密的程序。在翻阅了网上一些资料和文章后,认为使用‘异或’来加密word文档是比较方便且安全性有保障的。   在此之前,我们先了解一下异或是什么。简单来说,如果a、b两…

python常见加密方式总结踩坑小贴士

本文是向大家介绍python中常见的一些加密方式,在使用python的时候遇到数据加密的情况时,可以根据实际场景来选择加密的方式对数据进行加密,加强数据传输的安全性。 一.前言 日常工作中经常会看到各种加密算法,今天给大家带来的是…

常见的加密方式之python实现

文章目录 前言MD5加密sha1加密SHA256DES加密AES加密AES的ECB 模式实现AES的CBC 模式实现RSA加密 前言 常见的加密方式之python实现 编码与解码 通常所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的Bytes。所以…

5种方法,加密你的Python代码 !

Python越来越热门了,2019年3月TIOBE编程语言排行榜上,Python更是罕见的击败了“霸榜三巨头”之一的C,挤进前三。 Python优点很多,比如简单易学,代码量少,能做的事很多等等,和其他语言一样&#…

Python加密与解密(一文搞定)

前言 据记载,公元前400年,古希腊人发明了置换密码。1881年世界上的第一个电话 保密专利出现。在第二次世界大战期间,德国军方启用“恩尼格玛”密码机, 密码学在战争中起着非常重要的作用。 随着信息化和数字化社会的发展&…

Python 常见加密方式和实现

一、前言 我们所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的Bytes。 所以当我们在Python中进行加密操作的时候,要确保我们操作的是Bytes,否则就会报错。 将字符串和Bytes互相转换可以…

Python读取excel表格中的网址并批量打开网页

import webbrowser import xlrdwb xlrd.open_workbook("demo.xlsx") sht wb.sheet_by_name("Sheet1") for x in range(sht.nrows):webbrowser.open(sht.cell(x, 1).value)# 用系统默认浏览器打开指定网页

如何批量打开一组网页?

有时要批量打开一组网页,研究出三种方法 1.使用在线的网页工具打开,如:http://www.a-site.cn/tool/kai/ 2.使用标签,新建一个标签文件夹,把要打开的网页放到这个文件夹下,在文件夹下右击选择“打开所有标签…

html 批量依次打开网页,傲游浏览器批量一键打开网页的几种方法

在傲游浏览器中,我们可以批量一键打开网页,你相信吗?这是真的。只要在傲游浏览器中创建一个空白文件夹,然后将需要打开的网页放入该文件夹中。一键登录的技巧下面来演示下。 软件名称:Maxthon傲游浏览器 v6.0.0.1700 Alpha 中文官…

简易小工具实现批量打开多个网页

最近有个需求,希望一次性可以打开多个网页,网址自由指定,这个需求的实现非常简单,使用基本的c代码调用system函数即可,都不需要MFC相关的东西。 但是我实测一些工具后发现一个问题,当打开超过大约3个网址的…

如何批量保存html,如何批量保存网页信息

如何批量保存网页信息 现在我们利用网络数据库探索者来批量保存这些联系地址,就能大大减少重复劳动的工作量。 下载地址:http://www2.skycn.com/soft/14620.html 一、查找页面规律 在使用网络数据库探索者前我们要摸清页面的规律,一般可以从两…

批处理批量打开网页

我们的Windows系统里有种文件拓展名是bat,或是cmd。 批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理。批处理文件的扩展名为bat 。目前比较常见 的批处理包含两类:DOS批处理和PS批处理。PS批处理是基…

DOS BAT脚本批量打开Edge网页

Bat脚本配置说明 前言打开效果详细命令测试环境 前言 测试业务时,需要批量打开网页,由于IE停止更新,本文以Edge为例。 关键点:页面打开需增加延迟,不要批量同时打开,否则容易漏掉,5个网址只能…

eyeurl—一款网页批量截图工具

eyeurl使用说明 开发说明 eyeurl由作者:云小书 开发,源于日常渗透测试中,信息收集到的url过多,挨个打开查看比较繁琐,且效率极低,网上有大佬开发的eyewitness,且ui布局各方面都比较完善&#…

批量保存网页

文章目录 背景工具SeleniumgeckodriverPyUserInput工具下载和安装 代码测试总结 背景 之前已经写了 2 篇文章: 备份 CSDN 博客(上) 备份 CSDN 博客(下) 但是效果都不怎么好,其实还有一种简单粗暴的方法…

批量获取/打开链接 - 实践

1.应用场景 批量操作, 打开链接. 2.学习/操作 思路 获取超链接标签, 然后使用批量打开每个超链接, 从而不需要手动一个个打开链接 完善 建议用脚本实现, 然后写一个定时脚本[服务器上],每天定时执行. 环境 Chrome浏览器/其他浏览器也可以 PHP 7.3 nginx 1.15/1.16 方式一 2.1…

批量保存网页为单个网页文件

有时候,总有会遇到一些奇怪的需求,各种搜索都找不到答案,本次记录批量保存网页到单个网页文件。 使用背景: 只想简单的解决问题,不涉及编程 网页带格式,将网页存为PDF格式会变 量太大,一个个的处理太累 涉及…

【数据安全-02】AI打假利器数字水印,及java+opencv实现

AIGC 的火爆引燃了数字水印,说实话数字水印并不是一项新的技术,但是这时候某些公司拿出来宣传一下特别应景,相应股票蹭蹭地涨。数字水印是什么呢,顾名思义,和我们在pdf中打的水印作用差不多,起到明确版权、…