友情提示:本文共有 984 个字,阅读大概需要 2 分钟。
一、MD5介绍:
MD5在软件行业是再常见不过的一个词了,即使你从没使用过它,也不知道它到底是个什么东西,但你肯定听过这个词
MD5的全称是message-digest algorithm 5(信息-摘要算法,在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest开发出来, 经md2、md3和md4发展而来。
那么到底什么是MD5呢?是加密算法吗?不是的,md5是一种信息摘要算法,它可以从一个字符串或一个文件中按照一定的规则生成一个特殊的字符串,这个特殊的字符串就被称之为摘要,我理解就是从文件中摘一些信息片段加工而来,并且一个文件所对应的MD5摘要是固定的,当文件内容变化后,其MD5值也会不一样,虽然理论上来说也有可能会一样,但概率极小,因此,在应用中经常使用MD5值来验证一段数据有没有被篡改。下面用一个实例实现一个简单的MD5加密练习。
二、先贴代码,然后一步步解释,代码如下:
三、MD5加密实例解释:
通过MD5加密后的字符:3464ff2f0b426774c3aab4b8cbd82781
1、要引用命名空间
using System.Security.Cryptography;
using System.Text;
2、创建MD5对象
MD5 md5 = MD5.Create();
3、需要将字符处转换成字节数组
byte[] buffer = Encoding.GetEncoding("GBK").GetBytes(str);
4、返回一个加密好的字节数组
byte[] MD5Buffer = md5.ComputeHash(buffer);
5、将字节数组转换成字符串,将字节数组中每个元素按照指定的编码格式解析成字符串,将字节数组中的每个元素ToString(),x2表示32位。
string strNew = "";
for (int i = 0; i < MD5Buffer.Length; i++)
{
strNew += MD5Buffer[i].ToString("x2");
}
return strNew;
MD5具有很好的安全性,因为它具有不可逆的特征,加过密的密文经过解密后和加密前的东东相同的可能性极小。以上是自己的一些理解,有不足之处,请各位指点。
本文如果对你有帮助,请点赞收藏《C Sharp编程语言如何实现MD5加密的一个实例分享》,同时在此感谢原作者。