zoukankan      html  css  js  c++  java
  • HMAC-SHA256 & MD5 In C#

    C#中两个常用的加密方法:

    个人Mark,仅作参考。

    public static class Extends
        {
            /// <summary>
            /// HMAC  SHA256
            /// </summary>
            /// <param name="str"></param>
            /// <returns></returns>
            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();
            }
    
            /// <summary>
            /// MD5
            /// </summary>
            /// <param name="str"></param>
            /// <returns></returns>
            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"));
            }
        }
  • 相关阅读:
    生成唯一流水码
    搜索类
    数字转中文
    字符串转数组工具类
    类转换
    P1112 区间连续段
    P1113 同颜色询问
    Turtlebot3 机器学习
    Turtlebot2进阶教程
    turtlebot A2
  • 原文地址:https://www.cnblogs.com/WinHEC/p/HMAC-SHA256_And_MD5_In_CSharp.html
Copyright © 2011-2022 走看看