会安装很多包:chardet, certifi, urllib3, idna, requests, pyyaml, Naked, shellescape, crypto
这时你会看到有crypto文件夹,将其重命名为Crypto即可
pip uninstall pycrypto,然后安装pycryptodome,pip install pycryptodome,即可。
你会发现site-packages下的该模块的目录名已经是大写了-Crypto
这个时候pycryptodome就来了,它是pycrypto的延伸版本,用法和pycrypto是一模一样的
Python\Python36\Lib\site-packages,找到这个路径,下面有一个文件夹叫做crypto,将小写c改成大写C就ok了。
可以给db文件添加密码。在Python中异或操作符为,^,也可以记作XOR。按位异或的意思是。相同值异或为0,不同值异或为1.具体来讲,有四种可能,0^0=0,0^1=1,1^0=1,1^1=0。我们还可总结出规律(A为0或1),0和A异或为A本身。1和A异或为A反。
加密操作,首先将文件转换成二进制数,再生成与该二进制数等长的随机密钥,将二进制数与密钥进行异或操作,得到加密后的二进制数。解密操作,将加密后的二进制程序与密钥进行异或操作,就得到原二进制数,最后将原二进制数恢复成文本文件。
1.安装cython
sudo apt-get install cython
2.目标加密文件dataHandle.py,cd到文件目录下
sudo cython -a dataHandle.py
3. 把生成的dataHandle.c 变成dataHandle.so
gcc -shared -pthread -fPIC -fwrapv -O2 -Wall -fno-strict-aliasing -I/usr/include/python3.7 -o dataHandle.so dataHandle.c
4.删掉dataHandle.py,只留dataHandle.so,再次执行项目正常运行不受影响。
windows平台快捷打包方法:
1. pip install pyinstaller
2. cd 到程序文件加下
3. pyinstaller main.py 成功后dist文件夹下生成main.exe(删除其他的源程序,留下main.exe)