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();
            }
    
        }
    }
    

      

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

  • 相关阅读:
    2018 我要告诉你的 Vue 知识大全
    探究Javascript模板引擎mustache.js使用方法
    高性能JavaScript模板引擎实现原理详解
    junit报错
    http报文
    web应用和http协议
    eclipse首次使用基本设置
    利用亚马逊AWS搭建个人服务器
    图文详解 IntelliJ IDEA 15 创建普通 Java Web 项目
    MyEclipse 设置条件断点
  • 原文地址:https://www.cnblogs.com/mrmocha/p/10203253.html
Copyright © 2011-2022 走看看