C#中两个常用的加密方法:
个人Mark,仅作参考。
public static class Extends { ////// HMAC SHA256 /// /// ///public static string Sha256(this string str) { byte[] sha256Data = Encoding.UTF8.GetBytes(str); SHA256Managed sha256 = new SHA256Managed(); byte[] buffer = sha256.ComputeHash(sha256Data); // 可以根据需要处理加密后的字节数组,比如使用Base64.这里使用BitConverter转为64位字符。 return BitConverter.ToString(buffer).Replace("-", "").ToLower(); } /// /// MD5 /// /// ///public static string Md5(this string str) { var md5 = MD5.Create();// 加密后是一个字节类型的数组 byte[] buffer = md5.ComputeHash(Encoding.UTF8.GetBytes(str)); // 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符. // X2和x2表示不省略首位为0的十六进制数字;比如:ox0A, 使用 X== 0xA, 使用 X2==0x0A 。标准MD5是使用 x2 或者 X2,否则可能位数丢失。
return buffer.Aggregate(string.Empty, (current, t) => current + t.ToString("x2")); } }