MD5加密算法由于其具有较好的安全性,加之商业上也可以免费使用该加密算法,因此MD5加密算法被广泛使用。MD5加密算法主要运用在密码管理、电子签名以及垃圾邮件的筛选等方面,今天我们就这几方面的应用给大家详细的介绍一下。
MD5加密算法应用一、用于密码管理
例如,当我们需要保存某些密码信息以用于身份确认时,如果直接将密码信息以明码方式保存在数据库中,不使用任何保密措施,系统管理员就很容易能得到原来的密码信息,这些信息一旦泄露,密码也很容易被破译。为了增加安全性,有必要对数据库中需要给保密的文件加密,这样,即使有人得到了整个数据库,如果没有解密算法,也不能得到原来的密码信息。
MD5加密算法可以很好地解决这个问题,因为它可以将任意长度的输入串经过计算得到固定长度的输出,而且只有在明文相同的情况下,才能等到相同的密文,并且这个算法是不可逆的,即便得到了加密以后的密文,也不可能通过解密算法反算出明文。这样就可以把用户的密码以MD5值(或类似的其它算法)的方式保存起来,用户注册的时候,系统把用户输入的密码计算成mMD5值,然后再去和系统中保存的MD5值进行比较,如果密文相同,就可以认定密码是正确的,否则密码错误。
通过这样的步骤,系统在并不知道用户密码明码的情况下就可以确定用户登录系统的合法性。这样不但可以避免用户的密码被具有系统管理员权限的用户知道,而且还在一定程度上增加了密码被破解的难度。
MD5加密算法应用二、用于电子签名
MD5加密算法还可以作为一种电子签名的方法来使用,使用MD5加密算法就可以为任何文件(不管其大小、格式、数量)产生一个独一无二的“数字指纹”,借助这个“数字指纹”,通过检查文件前后MD5值是否发生了改变,就可以知道源文件是否被改动。
我们在下载软件的时候经常会发现,软件的下载页面上除了会提供软件的下载地址以外,还会给出一串长长的字符串。这串字符串其实就是该软件的MD5值,它的作用就在于下载该软件后,对下载得到的文件用专门的软件(如windows md5 check等)做一次MD5校验,以确保我们获得的文件与该站点提供的文件为同一文件。
利用MD5加密算法来进行文件校验的方案被大量应用到软件下载站、论坛数据库、系统文件安全等方面。
MD5加密算法应用三、用于垃圾邮件的筛选
在电子邮件使用越来越普遍的情况下,可以利用MD5加密算法在邮件接收服务器上进行垃圾邮件的筛选,以减少此类邮件的干扰,具体思路如下:
1、建立一个邮件MD5值资料库,分别储存邮件的MD5值、允许出现的次数(假定为3)和出现次数(初值为零)。
2、对每一封收到的邮件,将它的正文部分进行MD5计算,得到MD5值,将这个值在资料库中进行搜索。
3、如未发现相同的MD5值,说明此邮件是第一次收到,将此MD5值存入资料库,并将出现次数置为1,转到第五步。
4、如发现相同的MD5值,说明收到过同样内容的邮件,将出现次数加1,并与允许出现次数相比较,如小于允许出现次数,就转到第五步。否则中止接收该邮件。结束。
5、接收该邮件。
6、结束。
小知识之MD5加密算法:
MD5就是采用单向加密的加密算法,对于MD5而言,有两个特性是很重要的,第一是任意两段明文数据,加密以后的密文不能是相同的;第二是任意一段明文数据,经过加密以后,其结果必须永远是不变的。前者的意思是不可能有任意两段明文加密以后得到相同的密文,后者的意思是如果我们加密特定的数据,得到的密文一定是相同的。