代码之家  ›  专栏  ›  技术社区  ›  giozh

Openssl RSA中用于加密的字符串的最大大小

  •  1
  • giozh  · 技术社区  · 12 年前

    函数RSA_public_encrypt要求保存加密文本的变量的长度应为RSA_size(*RSA)字节。 现在,我需要知道要加密的文本有多大,因为如果我加密一个小字符串(例如“asdasd”),没有问题,但如果我尝试使用一个更大的字符串,它的一部分就是crypt。

    1 回复  |  直到 7 年前
        1
  •  2
  •   unwind    12 年前

    假设你在谈论 RSA_public_encrypt() ,文档非常清楚地说明了这一点:

    对于基于PKCS#1 v1.5的填充模式,flen必须小于RSA_size(RSA)-11,对于RSA_PKCS1_OAEP_padding,则小于RSA_size(RSA)-41,而对于RSA_NO_padding,则恰好小于RSA_ize(RSA)。

    请记住,这些都是块密码,在一般情况下,您需要将输入拆分为块,并将块一次一个地提供给加密函数。