Các anh chị đi qua giúp em với . mà cái mảng này em mới học nên ngu chưa biết gì, Sếp cho em một hàm như này. Và làm hàm Encrypt còn lại .Có mẫu thử và kết quả ở dưới. Chi tiết câu hỏi bên dưới ạ. Cám ơn anh chị.
public string Decrypt(string chuoimahoa, string khoa)
{
string result = "";
try
{
RijndaelManaged aes = new RijndaelManaged();
aes.KeySize = 256;
aes.BlockSize = 128;
aes.Padding = PaddingMode.PKCS7;
aes.Mode = CipherMode.CBC;
aes.Key = Convert.FromBase64String(khoa);
byte[] bytes = Convert.FromBase64String(chuoimahoa);
Dictionary<string, string> dictionary = JsonConvert.DeserializeObject<Dictionary<string, string>>(Encoding.UTF8.GetString(bytes));
aes.IV = Convert.FromBase64String(dictionary["iv"]);
if (HmacSHA256(dictionary["iv"] + dictionary["value"], aes.Key) != dictionary["mac"])
{
return "";
}
ICryptoTransform cryptoTransform = aes.CreateDecryptor(aes.Key, aes.IV);
byte[] array = Convert.FromBase64String(dictionary["value"]);
byte[] array2 = cryptoTransform.TransformFinalBlock(array, 0, array.Length);
string[] array3 = Encoding.UTF8.GetString(array2, 0, array2.Length).Split('.');
if (array3.Length == 3)
{
return array3[1];
}
return result;
}
catch (Exception)
{
return "";
}
}
private string HmacSHA256(string data, byte[] key)
{
HMACSHA256 hMACSHA = new HMACSHA256(key);
return BitConverter.ToString(hMACSHA.ComputeHash(Encoding.UTF8.GetBytes(data))).Replace("-", "").ToLower();
}
string chuoimahoa = "eyJpdiI6IlA4dlJpaXJ0aFlDeXZOdWdZcGFodmc9PSIsInZhbHVlIjoiZm03dGZiMXNYcFFhT1JQTXFLZENXQUd5bmROSTV3MEFsTEpwRkhmT2RSVFwvWTQ0NTR6bWt3cVFXTnJsTGVMS3AiLCJtYWMiOiI0NWNjZjNhZWEzYmIzZGQ2ZDA2ZjE5ZTk1NzI0ZmMyZDU4ZDI2MjI1MDdjMmE1MWJiZjlkYjFkNWNiMjA4NzAwIn0=";
string khoa = "omZCF+K4xZnye1vuBZ7K03k+Gx3D6tn1EZabRTCSzJU=";
string stext = "18198000501212";
string result = Decrypt(chuoimahoa, khoa);
//kết quả result là "18198000501212"
//giờ làm sao tạo hàm Encrypt ngược từ khoa và stext cho ra chuoimahoa lại
Và cho luôn kết quả và mẫu thử giờ viết hàm Encrypt dịch ngược lại. Giờ em chỉ tạo lại cái đoạn chuoimahoa này lại. Chứ em không dịch ngược lại, tạo mới thôi mà nó có kết quả giống cái chuoimahoa trên ,
Anh chị thương em giúp em với. Cám ơn anh chị nhiều.