Làm thế nào để chúng tôi sử dụng mã hóa Rijndael trong thư viện lớp .Net Core? (Không phải là thư viện lớp Net Framework). Chúng ta cần tạo một thư viện Core .Net dùng chung trong nhiều dự án và cần thực hiện các phương thức mã hóa và giải mã sử dụng cùng một mã hóa Rijndael trên các dự án.Làm thế nào để sử dụng mã hóa Rijndael với thư viện lớp .Net Core? (Không phải .Net Framework)
Chúng tôi hiện đang sử dụng:
- VS Enterprise 2015
- C#
- Net Lõi Class Library
- .NETStandard, Version = v1.6 tham khảo
Nó xuất hiện rằng việc triển khai Rijndael và AES bị thiếu trong bản phát hành .Net Core 1.0 ... dường như chỉ bao gồm các lớp cơ sở. Làm thế nào để chúng tôi có được một. Net Core thực hiện mã hóa Rijndael hoặc AES được thêm vào như là một tham chiếu đến một dự án Thư viện lớp Net mới.
Dưới đây là phương pháp Mã hóa mà làm việc trong .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;
}
vấn đề trong NET cốt lõi là gì? Thư viện có bị thiếu không? –
Có vẻ như nó đang trên lộ trình cho bản phát hành 1.1: https://github.com/dotnet/corefx/issues/9984 –
Nate chính xác, vấn đề chính dường như là việc triển khai Rijndael bị thiếu trong tham chiếu Mật mã trong hiện tại phát hành .Net Core ... chỉ cần triển khai các lớp cơ sở trừu tượng. – Ensunder