zoukankan      html  css  js  c++  java
  • 在C#后台使用MD5值对文件进行加

        首先说一下MD5值的概念和来源。MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。

        Message-Digest泛指字节串(Message)的Hash变换,就是把一个任意长度的字节串变换成一定长的大整数。请注意我使用了“字节串”而不是“字符串”这个词,是因为这种变换只与字节的值有关,与字符集或编码方式无关。 MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数数学函数

        使用MD5进行加密后的数据是不可逆的,可以用在数据库中对密码进行加密,保证用户的安全。

      

            protected void Btn_MD5_Click(object sender, EventArgs e)
            {
                //获取加密内容
                string Context = this.Tbx_Context.Text;
                ClientScript.RegisterClientScriptBlock(GetType(), "msg", "<script>alert('加密的结果:" + GetMD5Data(Context) + "')</script>");
            }
    
            public string GetMD5Data(string p_Date)
            {
                //创建MD5对象
                MD5 md5 = MD5.Create();
                //开始加密,将字符串转换为字节数组,二进制的;
                byte[] buffer = Encoding.UTF8.GetBytes(p_Date);
                byte[] MD5buffer = md5.ComputeHash(buffer);//将字节数组中的每个元素ToString();  
                StringBuilder p_sb= new StringBuilder();
                for (int i = 0; i < MD5buffer.Length; i++)
                {
                    p_sb.Append(MD5buffer[i].ToString("x2"));
                }
    
                return result.ToString();
            }

      

      

    有道无术,术尚可求,有术无道,止于术
  • 相关阅读:
    遍历及线索化二叉树
    二叉树
    程序的内存布局
    C语言一些易混淆的概念
    C语言标准库函数memcpy和memmove的区别以及内存重叠问题处理
    柔性数组
    一个基于QT简单登录对话框(带验证码功能)
    Qt中的布局管理器
    Qt中的标准对话框
    一个基于QT简单登录对话框
  • 原文地址:https://www.cnblogs.com/qinaqina/p/6547921.html
Copyright © 2011-2022 走看看