.NET加密实例HMACMD5

一般在多方业务交互时会对消息体进行加密签名,生成一个唯一值来验证消息是否合法,本文给出的是.NET加密实例,希望能帮助到需要的朋友。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1.Model //命名空间需要更改
{
    public class CMD5
    {
        /// <summary>
        /// HMACMD5加密
        /// </summary>
        /// <param name="source">加密消息体</param>
        /// <param name="key">加密秘钥</param>
        /// <returns></returns>
        public static string HmacMD5(string source, string key)
        {
            HMACMD5 hmacmd = new HMACMD5(Encoding.Default.GetBytes(key));
            byte[] inArray = hmacmd.ComputeHash(Encoding.Default.GetBytes(source));
            StringBuilder sb = new StringBuilder();

            for (int i = 0; i < inArray.Length; i++)
            {
                sb.Append(inArray[i].ToString("X2"));
            }

            hmacmd.Clear();

            return sb.ToString();
        }
    }
}
THE END