MD5加密算法在计算机安全领域中扮演着重要的角色,它是一种广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hashvalue),用于确保信息传输完整一致。在密码学上发生这样的概率是很小的,所以MD5在密码加密领域有一席之地。
MD5算法具有以下特点:
压缩性:任意长度的数据,算出的MD5值长度都是固定的。
容易计算:从原数据计算出MD5值很容易。
抗修改性:对原数据进行任何改动哪怕只修改1个字节所得到的MD5值都有很大区别。
弱抗碰撞:已知原数据和其MD5值想找到一个具有相同MD5值的数据即伪造数据是非常困难的。
强抗碰撞:想找到两个不同的数据使它们具有相同的MD5值是非常困难的。
因此,MD5在信息安全领域被广泛用于验证数据的完整性和一致性。比如,在操作系统的登陆认证上,如Unix、各类BSD系统登录密码、数字签名等诸多方面。如Unix系统中用户的密码是以MD5经Hash运算后存储在文件系统中,当用户登录的时候系统把用户输入的密码进行MD5 Hash运算然后再去和保存在文件系统中的MD5值进行比较进而确定输入的密码是否正确通过这样的步骤系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性这可以避免用户的密码被具有系统管理员权限的用户知道。
简单点说,如果数据库被盗取,获得的是批量MD5加密之后的密码, MD5密码反破解有非常难,所以丢失数据库中密码也就不用担心别人登录
技术QQ交流群:157711366
技术微信:liehuweb
写评论