zoukankan      html  css  js  c++  java
  • c#的MD5加密类

    using System.Security.Cryptography;

      //
      //MD5加密函数
      //
      public string MD5(String str)
      {
       MD5 md5=new MD5CryptoServiceProvider();
       byte[] data=System.Text.Encoding.Default.GetBytes(str);
       byte[] result=md5.ComputeHash(data);
       String ret="";
       for(int i=0;i<result.Length;i++)
        ret+=result[i].ToString("x").PadLeft(2,'0');
       return ret;
      }
     
    MS的HELP
     
    using System;
    using System.Security.Cryptography;
    using System.Text;
    class Example
    {
        // Hash an input string and return the hash as
        // a 32 character hexadecimal string.
        static string getMd5Hash(string input)
        {
            // Create a new instance of the MD5CryptoServiceProvider object.
            MD5 md5Hasher = MD5.Create();
            // Convert the input string to a byte array and compute the hash.
            byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
            // Create a new Stringbuilder to collect the bytes
            // and create a string.
            StringBuilder sBuilder = new StringBuilder();
            // Loop through each byte of the hashed data
            // and format each one as a hexadecimal string.
            for (int i = 0; i < data.Length; i++)
            {
                sBuilder.Append(data[i].ToString("x2"));
            }
            // Return the hexadecimal string.
            return sBuilder.ToString();
        }
        // Verify a hash against a string.
        static bool verifyMd5Hash(string input, string hash)
        {
            // Hash the input.
            string hashOfInput = getMd5Hash(input);
            // Create a StringComparer an comare the hashes.
            StringComparer comparer = StringComparer.OrdinalIgnoreCase;
            if (0 == comparer.Compare(hashOfInput, hash))
            {
                return true;
            }
            else
            {
                return false;
            }
        }

        static void Main()
        {
            string source = "Hello World!";
           
            string hash = getMd5Hash(source);
            Console.WriteLine("The MD5 hash of " + source + " is: " + hash + ".");
            Console.WriteLine("Verifying the hash...");
            if (verifyMd5Hash(source, hash))
            {
                Console.WriteLine("The hashes are the same.");
            }
            else
            {
                Console.WriteLine("The hashes are not same.");
            }
           
        }
    }
    // This code example produces the following output:
    //
    // The MD5 hash of Hello World! is: ed076287532e86365e841e92bfc50d8c.
    // Verifying the hash...
    // The hashes are the same.
  • 相关阅读:
    操作系统-多进程图像
    025.Kubernetes掌握Service-SVC基础使用
    Linux常用查看版本指令
    使用动态SQL处理table_name作为输入参数的存储过程(MySQL)
    INTERVAL 用法 mysql
    sql server编写archive通用模板脚本实现自动分批删除数据【填空式编程】
    docker部署redis集群
    Ubuntu1804下安装Gitab
    Bash脚本编程学习笔记06:条件结构体
    KVM虚拟化基础
  • 原文地址:https://www.cnblogs.com/zzh/p/814366.html
Copyright © 2011-2022 走看看