簡體   English   中英

使用RSA / ECB / PKCS1Padding在Java中進行加密無法在.Net中解密

[英]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.

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