python 版本 3.6 , 在windows以及linux上都进行过测试
由于 python 中 rsa 加密存在长度限制, 虽然可以通过分片加密来解决,
但是更好的做法是通过 rsa 加密传输 aes密钥 给服务器, 携带的信息通过该密钥进行 aes 加密,
服务器通过 rsa私钥 得到 aes密钥 后解析信息, 并继续使用密钥进行双向通信
python中加密使用 pycryptodome 模块
pip install pycryptodome
Python
Python资源共享群:484031800
其中接受的参数text,key均为字符串
from Crypto.PublicKey import RSA from Crypto.Cipher import PKCS1_v1_5 from Crypto.Cipher import AES from base64 import b64decode from base64 import b64encode import re def rsa_encode(text, public_key): key = RSA.importKey(b64decode(public_key)) cipher = PKCS1_v1_5.new(key) return b64encode(cipher.encrypt(text.encode(encoding='utf-8'))).decode('utf-8') def aes_encode(text, key): key = key.encode('utf-8') cipher = AES.new(key, AES.MODE_CBC, key) text = text + (16 - len(text) % 16) * chr(16 - len(text) % 16) return b64encode(cipher.encrypt(text.encod