我想用PyCrypto在python中加密一些数据。
但是,在使用 key = RSA.importKey(pubkey) 时出现错误
key = RSA.importKey(pubkey)
RSA key format is not supported
密钥是使用以下命令生成的:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout mycert.key -out mycert.pem
代码是:
def encrypt(data): pubkey = open('mycert.pem').read() key = RSA.importKey(pubkey) cipher = PKCS1_OAEP.new(key) return cipher.encrypt(data)
上云精选
2核2G云服务器 每月9.33元起,还有更多云产品低至0.02元
这里有一个很好的例子: https://www.dlitz.net/software/pycrypto/api/2.6/Crypto.Cipher.PKCS1_OAEP-module.html
from Crypto.Cipher import PKCS1_OAEP from Crypto.PublicKey import RSA # sender side message = 'To be encrypted' key = RSA.importKey(open('pubkey.der').read()) cipher = PKCS1_OAEP.new(key)