码迷,mamicode.com
首页 > 其他好文 > 详细

MD5加密处理

时间:2018-12-31 21:58:42      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:pac   .com   两种   encode   pen   bytes   ++   rem   encoding   

  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加密处理

标签:pac   .com   两种   encode   pen   bytes   ++   rem   encoding   

原文地址:https://www.cnblogs.com/mrmocha/p/10203253.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!