MD5不安全的3个原因,用这些方法可以解决

MD5信息摘要算法是一种散列函数,是不可逆的,曾被广泛应用在计算机安全领域。由于王小云研究团队发现了MD5国际密码算法存在漏洞,被证实MD5并不安全。为什么MD5不安全呢,MD5不安全,我们用什么方法解决?

关于MD5

MD5哈希不是加密算法。它像是一个给定输入的指纹。 但是md5的计算是单向事务,因此几乎不可能对MD5哈希进行反向工程以检索原始字符串。

 MD5是一种算法,通常用于在数据库中存储密码。在在Internet初期,网站主要将密码以明文形式保存在数据库中,然而这并不安全,因此人们使用MD5来混淆数据库中的密码。MD5信息摘要算法可以从任何密码,短语或文本中生成32个字符的十六进制字符串,比如:如果用户的密码是654321,那在数据中就会生成c33367701511b4f6020ec61ded352059这样的字符串。因此,IT人员就看不到用户的密码,如果有人偷了数据库,就不会直接获得所有密码。

MD5不安全的3个原因

1、字典表很大

在网上有很多md5解密网站(如:https://md5.cn/),就如同一个字典表。通过在数据库存储很多常用的密码,可以在很短的时间内查找任何哈希值的答案。这种数据库占用大量的磁盘空间,具有一定的成功率。在计算机安全领域,一些朋友需要用到MD5解密网站,通过这类型的网站,可以提高工作效率,大家可以去试试。

 2、碰撞

安全的算法具有良好的抗冲突性,也就是说对于不同的单词,获得相同哈希值的可能性比较低,但是MD5的抗冲突性较低。

3、暴力攻击速度很快

蛮力攻击是通过尝试多种可能性来查找密码的一种方法,即可以猜测用户可能使用的东西(出生日期,孩子的名字,宠物的名字等),也可以尝试一切(从a,b, c到10个字符的特殊字符密码)。抵御暴力攻击的唯一方法可能是密码长度,如果您拥有40个字符长的随机密码(带有特殊字符),那么目前你的密码可能是安全的。

MD5不安全,我们可以采取什么方法来提高数据库安全性?

1、使用长密码

强制用户使用更长的密码(可能是15个字符或更多),此外还可以增加密码的复杂度,以确保他们使用的是大写,小写和特殊字符。但是,人们经常会使用弱密码,因此很容易被猜到,更糟糕的是,有的人甚至在便签纸上记录密码。

2、用盐

尝试做的第一件事就是在加密密码时使用salt,基本上,盐是您在每个密码之前和/或之后添加的单词。如果盐是“ randomsaltformypassword”,并且用户选择“ 654321”作为密码,则将“ randomsaltformypassword654321”用作MD5功能参数。

这样,你就可以在数据库中加密更长的密码,并且黑客很难找到相应的密码,请确保选择长字样以充分提高安全性。

3、使用其他哈希函数

最好的解决方案可能是使用其他加密算法,这不是最简单的方法,因为这可能必须更改数据库结构,但这可能是最安全的方法。

通过上文,大家应该了解了MD5为什么不安全,以及为什么MD5算法不可以安全地用于密码加密了。本文还提供了一些解决方法,提高数据库的安全性。

相关文章:

MD5碰撞是什么意思,Hash碰撞处理的方法_哈客部落的博客-CSDN博客_nbc是什么意思MD5是被广泛使用的密码散列函数,曾被广泛应用于计算机安全领域。在2004年,MD5被证实无法防止碰撞,因此不适用于安全性认证。那么MD5碰撞是什么意思,我们如何处理Hash碰撞呢?https://blog.csdn.net/m0_69916115/article/details/125150681

md5和SHA-1算法的区别,哪种比较安全_哈客部落的博客-CSDN博客_sha1和md5区别MD5和SHA-1在计算机安全领域使用比较广泛的密码散列函数,也是数字签名和消息认证中普遍使用的两种算法。那么MD5和SHA-1算法有什么区别呢?很多朋友不是很了解这两种算法的区别,下面本文将针对这个问题进行介绍。https://blog.csdn.net/m0_69916115/article/details/125086787

猜你喜欢

转载自blog.csdn.net/m0_69916115/article/details/125225045