MD5加密处理

Posted mrmocha

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MD5加密处理相关的知识,希望对你有一定的参考价值。

  MD5 加密后的位数一般为两种,16 位与 32 位。16 位实际上是从 32 位字符串中,取中间的第 9 位到第 24 位的部分

 

using System;
using System.Security.Cryptography;
using System.Text;

namespace _04MD5加密
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            string tStr = MD5Encrypt("MD5加密处理");
            Console.WriteLine(tStr);
            Console.ReadKey();
        }

        /// <summary>
        /// MD5加密
        /// </summary>
        /// <param name="input">需要加密的字符串</param>
        /// <returns></returns>
        public static string MD5Encrypt(string input)
        {
            return MD5Encrypt(input, new UTF8Encoding());
        }

        /// <summary>
        /// md5加密16|32位
        /// </summary>
        /// <param name="input">需要加密的字符串</param>
        /// <param name="length">加密位数,可选16位与32位</param>
        /// <returns></returns>
        public static string MD5Encrypt(string input, int length)
        {
            string res = MD5Encrypt(input, new UTF8Encoding());
            if (length == 16)
            {
                res = res.Substring(8, 16);
            }
            return res;
        }

        /// <summary>
        /// MD5加密
        /// </summary>
        /// <param name="input">需要加密的字符串</param>
        /// <param name="encode">字符的编码</param>
        /// <returns></returns>
        public static string MD5Encrypt(string input, Encoding encode)
        {
            if (string.IsNullOrEmpty(input))
            {
                return null;
            }
            MD5CryptoServiceProvider md5Hasher = new MD5CryptoServiceProvider();
            byte[] data = md5Hasher.ComputeHash(encode.GetBytes(input));
            StringBuilder sBuilder = new StringBuilder();
            for (int i = 0; i < data.Length; i++)
            {
                sBuilder.Append(data[i].ToString("x2"));
            }
            return sBuilder.ToString();
        }

    }
}

 

  

上述代码执行后得到的结果如下:

技术分享图片

 

以上是关于MD5加密处理的主要内容,如果未能解决你的问题,请参考以下文章

代码审计-md5加密相等绕过

MD5加密处理

MD5加密处理

javascript 表单 md5 加密处理

详解PHP处理密码的几种方式(收藏)

.net(md5)加密汉字的结果与java(md5)加密汉字的结果不一样。。。