İlk olarak, sadece akademik amaç için aşağıdaki kodu yazdım. Bunun sebebi, bunu bir üretim ortamına koymamam ve bunun için ihtiyacım olan şeylerin bir kısmını "bypass" etmesiydi, sadece bir dizeyi kullanarak şifrelemek/şifresini çözmem gerekiyor. aşağıdaki kod. Bunu bir kaç kez yapabildim, ancak bir nedenden dolayı "CryptographicException Bad Data" almaya başladım ve sorunun neden olabileceğinden emin değilim."Hatalı Veriler" 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);
}
}
Bu istisnayı yalnızca RSADecrypt çağrısı üzerine atar.
Herhangi bir fikrin var mı? RSA.Decrypt'a iletilen şifrelenmiş bir dosyanın beklenen büyüklüğü ile ilgili bir şeyler okumuştum.
Teşekkür }
Ah, nasıl yöntem arasındaki tuşları geçiyoruz? –