簡體   English   中英

RSACryptoServiceProvider - 解密 - 參數不正確

[英]RSACryptoServiceProvider - Decrypt - The parameter is incorrect

我需要解密文本,但我收到消息The parameter is incorrect

證書正確,它在Windows中注冊。

在此輸入圖像描述

在此輸入圖像描述

搜索問題,我可以閱讀建議更改分配給IIS中的網站的應用程序池中的用戶的注釋。 我試了但不行。

在第二個圖像顯示大小計算,但我不確定因為每8減去KeySize分區11。

我正在使用VS2010和.net 4. asp.net proyect使用IIS之類的服務器,不使用Visual Studio Development Server

我可以嘗試解決這個問題?

[解]

在Decrypt方法中分配的加密文本是在證書過時的情況下生成的。

文本使用證書加密但隨后更改,當嘗試使用其他證書解密帶有文本的文本時,該方法失敗。

使用非對稱密碼系統(即您的情況下為RSA)加密數據時,輸出的大小與模數大小相同。 此外,輸入的大小必須小於或等於模數大小。 因此,當您嘗試解密密文時,密文的大小必須等於模數的大小(即,因為密鑰大小為1024位,所以大小寫為128字節)。

因此,您不應該對data變量進行分段,只需將其直接提供給RSACryptoServiceProvider.Decrypt

嘗試另一件事是提供truefOAEP在參數rsa.Decrypt因為解密OAEP填充密文與fOAEP設置為false將導致The parameter is incorrect拋出異常。

如果更改了私鑰或公鑰,則會發生此異常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM