コード例 #1
0
ファイル: MD5Provider.cs プロジェクト: zymITsky/Medical
 //计算指定字符串的MD5哈希值
 public static string Hash(string message)
 {
     if (string.IsNullOrEmpty(message))
     {
         return(string.Empty);
     }
     else
     {
         //创建MD5算法的默认实例
         MD5           md5    = MD5.Create();
         byte[]        source = Encoding.Unicode.GetBytes(message);
         byte[]        result = md5.ComputeHash(source); //加密
         StringBuilder buffer = new StringBuilder(result.Length);
         for (int i = 0; i < result.Length; i++)
         {
             //将byte值转换成十六进制字符串
             buffer.Append(result[i].ToString("x"));
         }
         return(buffer.ToString());
     }
 }
コード例 #2
0
        public static void MD5Encryption(string password)
        {
            //MD5类是抽象类
            MD5 md5 = MD5.Create();

            //需要将字符串转成字节数组
            byte[] buffer = Encoding.Default.GetBytes(password);
            //加密后是一个字节类型的数组,这里要注意编码UTF8/Unicode等的选择
            byte[] md5buffer = md5.ComputeHash(buffer);
            string str       = null;

            // 通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得
            foreach (byte b in md5buffer)
            {
                //得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符
                //但是在和对方测试过程中,发现我这边的MD5加密编码,经常出现少一位或几位的问题;
                //后来分析发现是 字符串格式符的问题, X 表示大写, x 表示小写,
                //X2和x2表示不省略首位为0的十六进制数字;
                str += b.ToString("x2");
            }
            Console.WriteLine(str);//202cb962ac59075b964b07152d234b70
            Console.ReadKey();
        }
コード例 #3
0
ファイル: Encrypt.cs プロジェクト: ChenDvorak/admin.myfor-end
 /// <summary>
 /// md5加密方式
 /// </summary>
 /// <param name="str">原字符串</param>
 /// <returns>加密后的字符串</returns>
 public static string MD5(string str)
 {
     using MD5 md5 = System.Security.Cryptography.MD5.Create();
     str           = BitConverter.ToString(md5.ComputeHash(Encoding.UTF8.GetBytes(str))).Replace("-", null);
     return(str);
 }
コード例 #4
0
 public static String ComputeHashString(this MD5 md5, Byte[] buffer)
 {
     return(MD5Ex.HashDataToString(md5.ComputeHash(buffer)));
 }
コード例 #5
0
 public static String ComputeHashString(this MD5 md5, Stream inputStream)
 {
     return(MD5Ex.HashDataToString(md5.ComputeHash(inputStream)));
 }
コード例 #6
0
 public static String ComputeHashString(this MD5 md5, Byte[] buffer, Int32 offset, Int32 count)
 {
     return(MD5Ex.HashDataToString(md5.ComputeHash(buffer, offset, count)));
 }