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"));
        }
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章