MD5算法普遍用于数字签名技术
数字签名技术:可以检测文件或其他应用的完整性,判断有无修改;
简单应用如下:
假设通信的两端,一端为文件的发送者,而另一端为文件的接受者。
发送端:发送者对所发送的文件调用相关的函数来生成该文件的摘要信息,然后将该摘要信息用其本人的私钥进行加密处理,将摘要信息的密码模式与该文件一起发送给接受者;
接受端:这时接受者共得到两样东西,一个是所需要的文件,另一个是已加密摘要信息,接受端处理如下,
首先使用发送者提供的公钥对已加密的摘要信息进行解密处理,还原摘要信息的明码格式;
然后对接受到的文件像发送端那样进行函数处理,将得到的摘要信息与解密出来的摘要信息进行比对。
如果比对结果相同,则说明接受的文件是完整的;如果不同,说明文件在传输的过程中可能被修改过或已感染病毒。
由上可以看出:数字签名实际上是一个加密的过程;而数字签名的验证实际上是一个解密的过程。
数字签名技术普遍应用于软件下载站,论坛数据库,系统文件安全等方面,如:当我们下载某一软件时,经常会在该软件的描述信息中找到其MD5值来用于下载后的校验过程,从而有效防止病毒。
MD5还普遍应用于操作系统或一般系统的登录认证上,如当我们开发使用人员管理系统时,发现数据库表中所存储的用户密码并不是用户所输入的原生态的密码格式,而是经过MD5处理后的一段字符串。当用户登录的时候,系统把用户输入的密码进行MD5 Hash运算,在和数据库表中的md5值进行比较来确定输入密码是否正确。这样便避免了普通用户的密码被