zoukankan      html  css  js  c++  java
  • 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();
            }
    
        }
    }
    

      

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

  • 相关阅读:
    hdu 6010 Daylight Saving Time
    hdu 5999 The Third Cup is Free
    2011 USP Try-outs F. Auction of Services
    1449 砝码称重
    hdu 6205 card card card
    hdu 6201 transaction transaction transaction
    Codeforces 828D
    Codeforces Round #434 D
    zoj
    Codeforces Round #434 C
  • 原文地址:https://www.cnblogs.com/mrmocha/p/10203253.html
Copyright © 2011-2022 走看看