[英].Net encryption and java decryption with RSA/ECB/PKCS1Padding
[英]Encrypted in Java using RSA/ECB/PKCS1Padding unable to decrypt in .Net
我有一個使用Java中的某些加密類(RSA / ECB / PKCS1Padding)和我們預先交換的公共密鑰加密的字符串。
我想使用我們的私鑰解密該字符串,這是我的代碼。
X509Certificate2 cert = new X509Certificate2("c:\\test.pfx", "test");
string s = "very long encrypted data";
RSACryptoServiceProvider privateKeyProvider = (RSACryptoServiceProvider)cert.PrivateKey;
string decryptedTest = System.Text.Encoding.UTF8.GetString(privateKeyProvider.Decrypt(Convert.FromBase64String(s), true));
我收到異常錯誤消息。
“ System.Security.Cryptography.CryptographicException:解碼OAEP填充時發生錯誤”
我做錯了什么?
在第二個參數設置為false
調用Decrypt
。 MSDN
...使用PKCS#1 v1.5填充時為false。
這是工作代碼。
X509Certificate2 cert = new X509Certificate2("c:\\test.pfx", "test");
string s = "very long encrypted data";
RSACryptoServiceProvider privateKeyProvider = (RSACryptoServiceProvider)cert.PrivateKey;
string decryptedTest = System.Text.Encoding.UTF8.GetString(privateKeyProvider.Decrypt(Convert.FromBase64String(s), true));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.