当前位置: 代码迷 >> ASP.NET >> 使用过这个方法RSACryptoServiceProvider.Encrypt()做加密,提示“不正确的长度”异常
  详细解决方案

使用过这个方法RSACryptoServiceProvider.Encrypt()做加密,提示“不正确的长度”异常

热度:3914   发布时间:2013-02-26 00:00:00.0
使用过这个方法RSACryptoServiceProvider.Encrypt()做加密,提示“不正确的长度”错误
使用RSACryptoServiceProvider类做加密
密钥通过FromXmlString()方法载入
plainTextByte是待解压的明文数据
到执行加密方法时:
Cryptograph   =   myRSACryptoServiceProvider.Encrypt(plainTextByte,   true);

如果明文较小,几十个字节,加密正常。
如果明文稍大一些,一百多个字节,这句就会出错,提示“不正确的长度”错误。
我想不可能这个功能只能加密几十个字节的长度的数据啊?有没有找到这个类哪有设置长度限制的地方。

请大家帮忙这是什么原因?

------解决方案--------------------------------------------------------
http://msdn2.microsoft.com/zh-tw/library/system.security.cryptography.rsacryptoserviceprovider.encrypt(VS.80).aspx
------解决方案--------------------------------------------------------
不能超过117
这是加密,如果倒过来,就是签名了。
公钥是大家都知道的,也就是谁都能看到你到底加密了什么内容,就不是加密了。不过这也证明了只有你才能用私钥加密,所以是签名。
只有分段每次n个byte。
------解决方案--------------------------------------------------------
帮顶。。。。。。。