zoukankan      html  css  js  c++  java
  • C# MD516位加密实例,32位加密实例(两种方法)(转)

    1.MD5 16位加密实例
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Security.Cryptography;

    namespace md5
    {
        
    class Program
        
    {
            
    static void Main(string[] args)
            
    {
                 Console.WriteLine(UserMd5(
    "8"));
                 Console.WriteLine(GetMd5Str(
    "8"));
             }

            
    /// <summary>
            
    /// MD5 16位加密 加密后密码为大写
            
    /// </summary>
            
    /// <param name="ConvertString"></param>
            
    /// <returns></returns>

            public static string GetMd5Str(string ConvertString)
            
    {
                 MD5CryptoServiceProvider md5
    = new MD5CryptoServiceProvider();
                
    string t2 = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(ConvertString)), 4, 8);
                 t2
    = t2.Replace("-", "");
                
    return t2;
             }

      /// <summary>
            
    /// MD5 16位加密 加密后密码为小写
            
    /// </summary>
            
    /// <param name="ConvertString"></param>
            
    /// <returns></returns>

            public static string GetMd5Str(string ConvertString)
            
    {
                 MD5CryptoServiceProvider md5
    = new MD5CryptoServiceProvider();
                
    string t2 = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(ConvertString)), 4, 8);
                 t2
    = t2.Replace("-", "");

                t2 = t2.ToLower();

                 return t2;
             }



            
    /// <summary>
            
    /// MD5 32位加密
            
    /// </summary>
            
    /// <param name="str"></param>
            
    /// <returns></returns>

           static  string UserMd5(string str)
            
    {
                
    string cl = str;
                
    string pwd = "";
                 MD5 md5
    = MD5.Create();//实例化一个md5对像
                
    // 加密后是一个字节类型的数组,这里要注意编码UTF8/Unicode等的选择 
                byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(cl));
                
    // 通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得
                for (int i = 0; i < s.Length; i++)
                
    {
                    
    // 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符

                     pwd
    = pwd + s[i].ToString("X");
                    
                 }

                
    return pwd;
             }

         }

    }

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

    public static string StringToMD5Hash(string inputString)
            {
                MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
                byte[] encryptedBytes = md5.ComputeHash(Encoding.ASCII.GetBytes(inputString));
                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < encryptedBytes.Length; i++)
                {
                    sb.AppendFormat("{0:x2}", encryptedBytes[i]);
                }
                return sb.ToString();
            }

  • 相关阅读:
    关于字符串转义的代码
    JAVA发布aar文件
    apache虚拟主机配置HTTPS
    font-face跨域办法
    Javascript数组方法(译)
    Python动态生成变量
    给AOP的after函数使用原函数局部变量
    stopImmediatePropagation的应用
    IE9或以上的浏览器flash值为空时,导致domready不触发
    html写法对gzip压缩率的影响
  • 原文地址:https://www.cnblogs.com/rainbowzc/p/1853389.html
Copyright © 2011-2022 走看看