首页 > Web开发 > 详细

.NET Core MD5加密 32位和16位

时间:2019-10-11 18:53:55      阅读:110      评论:0      收藏:0      [点我收藏+]
public class MD5Help
{
  //此代码示例通过创建哈希字符串适用于任何 MD5 哈希函数 (在任何平台) 上创建 32 个字符的十六进制格式哈希字符串官网案例改编
  /// <summary>
  ///获取32位md5加密
  /// </summary>
  /// <param name="source">待解密的字符串</param>
  /// <returns></returns>
  public static string Get32MD5(string source)
  {
    using (MD5 md5Hash = MD5.Create())
    {
      byte[] data = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(source + MD5Key));
      StringBuilder sBuilder = new StringBuilder();
      for (int i = 0; i < data.Length; i++)
      {
      sBuilder.Append(data[i].ToString("x2"));
      }

      string hash = sBuilder.ToString();
      return hash.ToUpper();
    }
  }
  static string MD5Key = "Y29RPm!*Af";
  /// <summary>
  /// 获取16位md5加密
  /// </summary>
  /// <param name="source">待解密的字符串</param>
  /// <returns></returns>
  public static string Get16MD5(string source)
  {
    using (MD5 md5Hash = MD5.Create())
    {
      byte[] data = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(source + MD5Key));
      //转换成字符串,并取9到25位
      string sBuilder = BitConverter.ToString(data, 4, 8);
      //BitConverter转换出来的字符串会在每个字符中间产生一个分隔符,需要去除掉
      sBuilder = sBuilder.Replace("-", "");
      return sBuilder.ToString().ToUpper();
    }
  }
}

 

.NET Core MD5加密 32位和16位

原文:https://www.cnblogs.com/ya-jun/p/11655953.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!