zoukankan      html  css  js  c++  java
  • MD5

    一、介绍

      MD5算法是一种散列(hash)算法(摘要算法,指纹算法),不是一种加密算法。任何长度的任意内容都可以用MD5计算出散列值。

      特点:

        1、MD5长度为32位的16进制数字和字符串组成。

        2、单向性。

        3、不同的“源数据”,生成不同的MD5,相同的“源数据”,产生相同的MD5值。

        4、使用编码不同,计算出的MD5值不同!

      工具助手:CalcMD5.exe

    工具链接:https://pan.baidu.com/s/1uUotZHYdJYKs1-yheLKOGQ
    提取码:9sqn

    二、对字符串进行MD5加密

     1   private void button1_Click(object sender, EventArgs e)
     2         {
     3             string msg = "Alex";
     4             string ret = GetMd5String(msg);
     5             MessageBox.Show(ret);
     6         }
     7 
     8         private string GetMd5String(string msg)
     9         {
    10             StringBuilder SB = new StringBuilder();
    11             //1、创建对象;命名空间:using System.Security.Cryptography;
    12             MD5 m5 = MD5.Create();
    13             //将字符串转byte数组
    14             byte[] buffer = System.Text.Encoding.Default.GetBytes(msg);
    15             //2、计算
    16             byte[] bytes = m5.ComputeHash(buffer);
    17             //3、返回
    18             for (int i = 0; i < bytes.Length; i++)
    19             {
    20                 SB.Append(bytes[i].ToString("x2")); //x:小写的十六进制;X:大写的十六进制;2:一位时,前面补0
    21             }
    22             m5.Clear(); //用完后,清除内存
    23             //将byte数组以十六进制返回
    24             return SB.ToString();
    25         }

     三、对文件进行MD5加密

     1         private string GetMd5String2(string path)
     2         {
     3             StringBuilder sb = new StringBuilder();
     4             MD5 m5 = MD5.Create();
     5             FileStream fs = File.OpenRead(path);
     6             byte[] buffer = m5.ComputeHash(fs);
     7             for (int i = 0; i < buffer.Length; i++)
     8             {
     9                 sb.Append(buffer[i].ToString("x2"));
    10             }
    11             m5.Clear();
    12             fs.Close();
    13             fs.Dispose();
    14             return sb.ToString();
    15         }

     四、MD5应用一

      对数据库中的密码进行加密

    数据库数据及表结构

    验证:

    项目地址链接:https://pan.baidu.com/s/1Wb7cbU-nKrlySsEZivnghQ 

    提取码:okga

  • 相关阅读:
    一个很简单的脑筋急转弯问题
    DataGrid PCV排序学习
    VS2010 出现打开关联文档错误的解决方案
    JS 简繁体互转代码
    js 常用正则表达式表单验证代码
    【转】自然语言处理(NLP)网上资源整理
    声卡编程讲解
    视频会议1
    转 语音处理资源
    编译WebRTC
  • 原文地址:https://www.cnblogs.com/chenyanbin/p/10828916.html
Copyright © 2011-2022 走看看