I've already got the solution. I've just added some padding of the '=' for this 32 byte key.
string keypadded = key.PadRight(key.Length + (4 - key.Length % 4) % 4, '=');
Thank you :D,
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Hi, I am having this error
Server was unable to process request. ---> Invalid character in a Base-64 string.
I am decrypting an AES - 256 , apparently 24 byte key length is working but when i am trying 32 byte key it's not.
this is how I converting the 32 byte key to byte.
public static string DecryptBySymmetricKey(string encryptedText)
{
if (String.IsNullOrEmpty(encryptedText))
{
return encryptedText;
}
//var keytest =
byte[] dataToDecrypt = Convert.FromBase64String(encryptedText);
//string keytoByte = Convert.ToBase64();
string key = "asdasdasdasdasdasdasdasdasdaasdasdasdasdada==";
byte[] keyAsBase64 = Convert.FromBase64String(key);
var keyBytes = keyAsBase64;
AesManaged tdes = new AesManaged();
tdes.KeySize = 256;
tdes.BlockSize = 128;
//tdes.BlockSize = 256;
tdes.Key = keyBytes;
tdes.Mode = CipherMode.ECB;
tdes.Padding = PaddingMode.PKCS7;
ICryptoTransform decrypt__1 = tdes.CreateDecryptor();
byte[] deCipher = decrypt__1.TransformFinalBlock(dataToDecrypt, 0, dataToDecrypt.Length);
tdes.Clear();
//string EK_result = Convert.ToBase64String(deCipher);
string EK_result = System.Text.Encoding.UTF8.GetString(deCipher);
return EK_result;
}
Thank you :)
I've already got the solution. I've just added some padding of the '=' for this 32 byte key.
string keypadded = key.PadRight(key.Length + (4 - key.Length % 4) % 4, '=');
Thank you :D,
your key:
string key = "asdasdasdasdasdasdasdasdasdaasdasdasdasdada==";
is not a valid base64 string. it does not pass validation. so line 6 thows an error