python27使用RSA加密解密
参考:
https://blog.csdn.net/orangleliu/article/details/72964948
要点:
python37使用RSA加密解密:
由于pycrypto类库不再维护,python3无法使用,这里采用pycryptodome
pycryptodome安装:
下载最新的安装包 ,https://github.com/Legrandin/pycryptodome
安装VS2015(VS2017也可以),C++编译器,
解压安装包后,安装:python setup.py install
安装完成!(*^▽^*)
python3使用RSA加密和解密不同之处:
由于python2的str其实为bytes类型,所以不用转换即可直接使用解密函数,python3字符串需要加encode()如:
# python2
base64.b64encode(message)
# python3
base64.b64encode(message.encode())
分段加密时也需要注意,python2可以使用数组拼接字符串,但python3需要使用bytes
# python2
res = []
for i in range(0, len(msg), length):
res.append(cipher1.encrypt(msg[i:i + length]))
# python3
res = b''
for i in range(0, len(msg), length):
res += (cipher1.encrypt(msg[i:i + length]))
bytes和str转换:
bytes转str:str(b'xxxx',encoding='utf-8')
str转bytes:str.encode()
python2和python3官方共存使用方法:
py -2 进入python2命令行
py -3 进入python3命令行
py -2 -m hello.py python2运行hello.py
py -3 -m hello.py python3运行hello.py
py -2 -m pip install XXXX python2安装类库
py -3 -m pip install XXXX python3安装类库