函数 RSA_public_encrypt 要求保存加密文本的变量的长度应为 RSA_size(*rsa) 字节。 现在,我需要知道要加密的文本有多大,因为如果我加密一个小字符串(例如“asdasd”),那么没有问题,但如果我尝试使用更大的字符串,则只是它的一部分.
最佳答案
假设您正在谈论<a href="http://www.openssl.org/docs/crypto/RSA_public_encrypt.html" rel="noreferrer noopener nofollow">RSA_public_encrypt()</a>
,文档说得很清楚:
flen must be less than RSA_size(rsa) - 11 for the PKCS #1 v1.5 based padding modes, less than RSA_size(rsa) - 41 for RSA_PKCS1_OAEP_PADDING and exactly RSA_size(rsa) for RSA_NO_PADDING.
请记住,这些是 block 加密,在一般情况下,您需要将输入拆分为 block ,并将这些 block 一次一个地提供给加密函数。
关于c - Openssl RSA 中加密的字符串的最大大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12176538/