首先,我僅爲學術目的編寫了以下代碼。我之所以這麼說是因爲我沒有把它放在生產環境中,爲此我「繞過」了一些我需要做的事情,我只需要能夠使用加密/解密字符串下面的代碼。我可以做幾次,但由於某種原因,我開始收到「CryptographicException Bad Data」,我不確定是什麼原因導致了這個問題。「Bad Data」CryptographicException
private string RSAEncrypt(string value)
{
byte[] encryptedData = Encoding.Unicode.GetBytes(value);
CspParameters cspParams = new CspParameters();
cspParams.KeyContainerName = _rsaContainerName;
using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider(2048,cspParams))
{
encryptedData = RSA.Encrypt(encryptedData, false);
return Convert.ToBase64String(encryptedData);
}
}
private string RSADecrypt(string value)
{
byte[] encryptedData = Encoding.Unicode.GetBytes(value);
CspParameters cspParams = new CspParameters();
cspParams.KeyContainerName = _rsaContainerName;
using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider(2048,cspParams))
{
encryptedData = RSA.Decrypt(encryptedData,false);
return Convert.ToBase64String(encryptedData);
}
}
它只在RSADecrypt調用中引發此異常。
任何想法?我在某處讀取它可能與傳遞到RSA.Decrypt中的encryptedData的預期大小有關的地方。
感謝 }
呃,你是如何通過方法之間的密鑰? – 2012-03-12 19:50:12