Lea*_*ini 7 c# asp.net encryption
我需要解密文本,但我收到了消息 The parameter is incorrect。
证书正确获取,已在 Windows 中注册。
搜索问题时,我可以阅读评论,建议更改分配给 IIS 中网站的应用程序池中的用户。我试过了,但没有用。
在第二张图片中显示了大小计算,但我不确定,因为KeySize每 8的除法减去 11 。
我在 .net 4 中使用 VS2010。asp.net proyect 使用 IIS 之类的服务器,不使用 Visual Studio 开发服务器
我可以尝试解决什么问题?
[解决方案]
在 Decrypt 方法中分配的加密文本是使用过时的证书生成的。
该文本是用证书加密的,但随后被更改,当尝试使用其他证书解密加密文本时,该方法失败。
当使用非对称加密系统(即您的例子中的 RSA)加密数据时,输出的大小与模数大小相同。此外,输入的大小必须小于或等于模数大小。因此,当您尝试解密密文时,密文的大小必须等于模数的大小(即,在您的情况下为 128 字节,因为密钥大小为 1024 位)。
因此,您不应该对data变量进行分段,只需将其直接提供给RSACryptoServiceProvider.Decrypt.
另一件要尝试的事情是提供中true的fOAEP参数,因为rsa.Decrypt解密设置为 false 的 OAEP 填充密文fOAEP将导致The parameter is incorrect抛出异常。
| 归档时间: |
|
| 查看次数: |
16013 次 |
| 最近记录: |