首页 > 代码库 > 在C#后台使用MD5值对文件进行加

在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#后台使用MD5值对文件进行加