在C#后台使用MD5值对文件进行加

Posted Tony-JH

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在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值对文件进行加的主要内容,如果未能解决你的问题,请参考以下文章

nodejs怎样获取一个上传文件的MD5码?

如何用VS2008为QT控件加代码(最好有具体点的操作步骤)谢谢!

博客园样式目录加代码美化

第三届2022MathorCup高校数学建模挑战赛大数据论文加代码(附详解)

JAVA获取资料的MD5码,比较两个文件是不是相同怎么解决

最短路径Dijkstra算法的分析与具体实现(思路加代码)