md5是一种密码散列函数,在计算机安全领域得到广泛的应用。本文将带大家了解一些md5的知识点,什么是md5,md5有什么用,什么是md5加盐,为什么md5不可逆,为什么md5可能会被解密?帮助大家快速了解md5,感兴趣的朋友继续往下看吧。
MD5消息摘要算法,能够产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。它是一种被普遍使用的密码散列函数,又译为加密散列函数,是散列函数的一种,用于取代MD4算法。
1、md5可用于一致性验证。这是很典型的应用,对信息产生信息摘要,以防止被篡改。比如:在某些软件下载站点的某软件信息中看到其MD5值,它的作用就在于我们能够在下载该软件后,对下载回来的文件用专门的软件做一次MD5校验,以确保咱们得到的文件与该站点提供的文件为同一文件。
利用MD5算法来进行文件校验的方案被大量应用到软件下载站、论坛数据库、系统文件安全等方面。
2、数字签名。MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”。
3、安全访问认证。MD5还普遍用于操作系统的登录认证上,如Unix、各种BSD系统登陆密码、数字签名等诸多方面。
比如,个人银行密码是“654321”获得的MD5是:
c33367701511b4f6020ec61ded352059
一旦截取到这个密文,那么经过撞库确定容易撞出654321,我们要做的就是加盐,银行密码仍是“654321”,把银行密码加上特定的字符串才计算MD5 因此密码仍是那个密码,可是变成求”654321密码加密987”的MD5值,而后再获得MD5,那么这个MD5起码能够确认那个数据库不会有。
md5不可逆的原因是因为它是一种散列函数,使用的是hash算法,在计算过程中原文的部分信息是丢失了的。也就是说,MD5的运算过程存在信息丢失。由于不知道运算过程中会有多少个进位在哪一步被丢弃,因而仅仅根据MD5的计算过程和得到的最终结果,是无法逆向计算出明文的。这才是MD5不可逆的真正原因。
md5算法无法防止碰撞,可通过撞库解密,虽然是几率极低的解密方法。但是原理就是:创建一个大型的数据库,把平常的各个语句,经过MD5加密成为密文,不断的积累大量的句子,放在一个庞大的数据库里。当我们拿到了别人的密文:
6377d8865b11bdbee697b16d078a1094,想去查询真实的密码,就要拿这密文到这个md5解密网站去查询。免费在线MD5解密网站:http://md5.cn/
使用md5可以防止信息不被盗取、修改,可以保护信息安全,它被广泛应用于操作系统的登录认证上,如Unix、各类BSD系统登录密码、数字签名等诸多方面。因此,md5的作用挺大的,通过本文相信大家对md5有了更多的了解,今天的分享就到这里了。