c# Aes加解密和SHA256加解密方法

  1. Aes
public static  class AesUtil{#region AES加密/// /// aes加码/// /// /// /// public static string Encrypt(string toEncrypt){try{byte[] keyArray = UTF8Encoding.UTF8.GetBytes("testtesttesttest");byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(toEncrypt);RijndaelManaged rDel = new RijndaelManaged();//using System.Security.Cryptography;     rDel.Key = keyArray;rDel.Mode = CipherMode.ECB;//using System.Security.Cryptography;     rDel.Padding = PaddingMode.PKCS7;//using System.Security.Cryptography;     ICryptoTransform cTransform = rDel.CreateEncryptor();//using System.Security.Cryptography;     byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);StringBuilder builder = new StringBuilder(resultArray.Length * 3);foreach (byte data in resultArray)builder.Append(Convert.ToString(data, 16).PadLeft(2, '0').PadRight(3, ' '));return builder.ToString().ToUpper().Replace(" ", "");}catch (Exception ex){Log.Error($"AesEncrypt ex:{ex.Message}");return "";}//return Convert.ToBase64String(resultArray, 0, resultArray.Length);}#endregion AES加密#region AES解密/// /// aes解码/// /// /// public static string Decrypt(string toDecrypt){try{byte[] keyArray = UTF8Encoding.UTF8.GetBytes("testtesttesttest");toDecrypt = toDecrypt.Replace(" ", "");byte[] comBuffer = new byte[toDecrypt.Length / 2];for (int i = 0; i < toDecrypt.Length; i += 2)comBuffer[i / 2] = (byte)Convert.ToByte(toDecrypt.Substring(i, 2), 16);RijndaelManaged rDel = new RijndaelManaged();rDel.Key = keyArray;rDel.Mode = CipherMode.ECB;rDel.Padding = PaddingMode.PKCS7;ICryptoTransform cTransform = rDel.CreateDecryptor();byte[] resultArray = cTransform.TransformFinalBlock(comBuffer, 0, comBuffer.Length);return UTF8Encoding.UTF8.GetString(resultArray);}catch (Exception ex){Log.Error($"AesDecrypt ex:{ex.Message}");return "";}}#endregion AES解密}
  1. SHA256
public static class SHA256EncryptUtil{/// SHA256加密,并十六进制编码/// /// /// public static string SHA256EncryptString(string data){byte[] bytes = System.Text.Encoding.UTF8.GetBytes(data);byte[] hash = SHA256Managed.Create().ComputeHash(bytes);StringBuilder builder = new StringBuilder();for (int i = 0; i < hash.Length; i++){builder.Append(hash[i].ToString("x2"));}return builder.ToString();}/// /// HMACSHA256加密/// /// /// /// public static string HmacSHA256(string message, string secret){secret = secret ?? "";var encoding = new System.Text.UTF8Encoding();byte[] keyByte = encoding.GetBytes(secret);byte[] messageBytes = encoding.GetBytes(message);using (var hmacsha256 = new HMACSHA256(keyByte)){byte[] hashmessage = hmacsha256.ComputeHash(messageBytes);StringBuilder builder = new StringBuilder();for (int i = 0; i < hashmessage.Length; i++){builder.Append(hashmessage[i].ToString("x2"));}return builder.ToString();}}/// /// 二进制/// /// /// /// public static byte[] HmacSHA256Bytes(string message, string secret){secret = secret ?? "";var encoding = new System.Text.UTF8Encoding();byte[] keyByte = encoding.GetBytes(secret);byte[] messageBytes = encoding.GetBytes(message);using (var hmacsha256 = new HMACSHA256(keyByte)){byte[] hashmessage = hmacsha256.ComputeHash(messageBytes);//StringBuilder builder = new StringBuilder();//for (int i = 0; i < hashmessage.Length; i++)//{//    builder.Append(hashmessage[i].ToString("x2"));//}return hashmessage;}}}

测试密钥


公钥
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp3nEMet00r0M72wQW5wpg1Gl06R2iH/p6L9HO5qPw8y2uu5ZXYyP9rcuzMzQ0Gr5NfdJMEf6FYKqe+UnMvURctTxCH+Nu0yKSjKJwWTthvyDZ3uKVZsK5ix56zsJNJt/zgFhsuioLXrSQuqea/G867VYqYp7Q2RzT0KBmmIVVG8Bh5NBEs8fhnHFpMH7x3WVWipUT+ulYCebVX+ncXeRPpJXNz/NpLp2ULoyGgKAzYaYoPNt4hf/hLekBmj5BkvYJZscRCxNybYwjM801OLzlUHKLj5X/8wvSXGChKTNXEphH5xB7idKeUhjeptsJnrrchiP/nRqyCyTTLHScHlG7QIDAQAB
-----END PUBLIC KEY-----私钥
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCnecQx63TSvQzvbBBbnCmDUaXTpHaIf+nov0c7mo/DzLa67lldjI/2ty7MzNDQavk190kwR/oVgqp75Scy9RFy1PEIf427TIpKMonBZO2G/INne4pVmwrmLHnrOwk0m3/OAWGy6KgtetJC6p5r8bzrtVipintDZHNPQoGaYhVUbwGHk0ESzx+GccWkwfvHdZVaKlRP66VgJ5tVf6dxd5E+klc3P82kunZQujIaAoDNhpig823iF/+Et6QGaPkGS9glmxxELE3JtjCMzzTU4vOVQcouPlf/zC9JcYKEpM1cSmEfnEHuJ0p5SGN6m2wmeutyGI/+dGrILJNMsdJweUbtAgMBAAECggEAYbReS6lMHG4Cj+OBn5B5f40wq0p1hKjrc8ez7Qf8+4QAzwmixTrt+kdgXEbZQ95EycEcx7gWJFp4z5MezVG//jhQ7l5L94tt2l+lklgpYukKWGLwj4TGVQZ5kkx80F4vr6WKs++bvfy7kiKCjgMX7oN72F1cEDMYOpNYPRMf0oOGL6wdlbUKSS8mpMVQ8N9PUGv9CnRM8MidptF716ZvIzyrRr7S4CYf71Re4VMeA5GIEYElhkMlI+m9DO8S1rm++TcclJwfPRKe4MLlHZigSzQ/RBy+xD+FvtnpDcNd2ltyv9yHOPS/skxbB81gJtqFksYQspAC3niqNs1t9dzcWQKBgQDeY+35LNz6R028kwB/1fcARbE1QZ7/NFvvcPccr1YbnsFWEPkYARs6L7RzD4dXmhpOlqtVrc1aIRyjYn9Xao6gMOCDluv2D0yghm3CxJ6jzNor9Kuv1WQPd3Uef4rAreaDHzBuJUGNelSZ576ugs/jf+N35YF2jDOgcXbhta1u3wKBgQDAyT1NkFu/rDdOegG5SYpCHBjvjeHKjDqPrmKSz+9pRDHp0AJgbJ4Yl6PNK7RpsDt0MFTSnTGmDTMNqlpcMInaE7qf4hMzrzRwoGvgzj/10l08mbjGnFLtEKVO53bTlTgjL3FPeDO83k3ceyTJLlfUGZtW8596GmPwn6RFRfBfswKBgQDTkMeU9EwpQWo/yq1/8AKyXJqwKoRjDuGjUZmUzW0ii44sHauLXYoUecu2ZoCAI1eBii7nLJgedT+0Y4D3naSf2r/MD+jcxkNEt351+u1csQahKHuopF4zpJZj9DwA/6868JH3RzQsrsMLQ3+Qr1usdz7kEg9uwwReT3MkWNzsiwKBgQC6DXysLnVdNcbqZbTkLKTRyGwIRNVztIGPyKw5I5PZ84Z4L9cbV7f749yhVVx34yx9pWc3G52es35h4dXywqVHYWLqijQd3SiuySNTgbkYdDynD3PTuWoOf9IJpDh5Wbkju9WO7GKCE8jwz6dgwOjiORRBhjySioWI44iVkjm5IQKBgFvbsJmh982qp9dsJuZTzTTcLjw/7wiB1a93Tw/HzPu9s4TjcVVdnJ0SFKHt/ZxToYbuPPHjqiWXi14+lYvp6OLVIsRXufUz965eiCEC3sF6risVhhMacy8KacxVwdIKcDaeSUn3/xEXQhEbghmrhj87RF4K1aA3D2GfK6aBG6V9
-----END PRIVATE KEY-----


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部