Come utilizziamo la crittografia Rijndael in una libreria di classi .Net Core? (Non una libreria di classi .Net Framework) Abbiamo bisogno di creare una libreria Core .Net condivisa da utilizzare in più progetti e abbiamo bisogno di implementare metodi Encrypt e Decrypt che utilizzano la stessa crittografia Rijndael attraverso i progetti.Come utilizzare la crittografia Rijndael con una libreria di classi .Net Core? (Not .Net Framework)
Attualmente stiamo utilizzando:
- VS Enterprise 2015
Sembra C#
Qui è il metodo Encrypt che funziona in Net Framework 4.5.2:
public static string Encrypt(string valueToEncrypt, string symmetricKey, string initializationVector)
{
string returnValue = valueToEncrypt;
var aes = new System.Security.Cryptography.RijndaelManaged();
try
{
aes.Key = ASCIIEncoding.ASCII.GetBytes(symmetricKey);
aes.IV = ASCIIEncoding.ASCII.GetBytes(initializationVector);
aes.Mode = CipherMode.CBC;
aes.Padding = PaddingMode.ISO10126;
var desEncrypter = aes.CreateEncryptor();
var buffer = ASCIIEncoding.ASCII.GetBytes(valueToEncrypt);
returnValue = Convert.ToBase64String(desEncrypter.TransformFinalBlock(buffer, 0, buffer.Length));
}
catch (Exception)
{
returnValue = string.Empty;
}
return returnValue;
}
Qual è il problema in .NET Nucleo? Manca una biblioteca? –
Sembra che sia sulla roadmap per la versione 1.1: https://github.com/dotnet/corefx/issues/9984 –
Nate corretto, il problema principale sembra essere che l'implementazione di Rijndael manchi dal riferimento di Cryptography nell'attuale versione di .Net Core ... solo implementazioni astratte di classe Base. – Ensunder