Python RSA消息加密“明文太长”?

2024-04-29 00:07:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用下面的代码来实现一个基本的RSA解决方案,用于加密和解密数据,但是当我尝试加密任何长度超过87个字符的文本时,我从文件Crypto/Cipher/PKCS1_OAEP.py中得到一个错误,即Plaintext is too long

我读到了关于RSA不能加密和解密大型数据集的其他问题,但我不确定这是否属实。如果是,我可以使用哪些其他选项来加密任意数量的数据

from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_OAEP
from Crypto.Signature import PKCS1_v1_5
from Crypto.Hash import SHA512, SHA384, SHA256, SHA, MD5
from Crypto import Random
from base64 import b64encode, b64decode
hash = "SHA-256"

def newkeys(keysize):
   random_generator = Random.new().read
   key = RSA.generate(keysize, random_generator)
   private, public = key, key.publickey()
   return public, private

def encrypt(message, pub_key):
   cipher = PKCS1_OAEP.new(pub_key)
   return cipher.encrypt(message)

Tags: 数据keyfromimportdefrandomcryptogenerator