函数 RSA_public_encrypt 要求保存加密文本的变量的长度应为 RSA_size(*rsa) 字节。现在,我需要知道要加密的文本有多大,因为如果我加密一个小字符串(例如“asdasd”),没有问题,但如果我尝试使用更大的字符串,它的一部分就是加密.
问问题
848 次
1 回答
1
假设您在谈论RSA_public_encrypt()
,文档非常清楚地说明了这一点:
对于基于 PKCS #1 v1.5 的填充模式,flen 必须小于 RSA_size(rsa) - 11,对于 RSA_PKCS1_OAEP_PADDING 必须小于 RSA_size(rsa) - 41,对于 RSA_NO_PADDING 必须小于 RSA_size(rsa)。
请记住,这些是块密码,在一般情况下,您需要将输入拆分为块,并一次将一个块提供给加密函数。
于 2012-08-29T11:11:21.677 回答