MD5的用途或用途

Sid*_*qui 3 networking md5 network-programming decode decoding

如果我们无法解码MD5哈希字符串,那么MD5的目的是什么,我们可以在哪里使用MD5.

小智 9

例如,将数据存储在数据库中.

如果您在使用MD5保存密码​​,你与你在表单中输入和散列它的密码进行比较,它仍然是相同的密码,但你不能看到它在数据库中的明文.

例如:

password = 123  
md5(123) === "202cb962ac59075b964b07152d234b70"
Run Code Online (Sandbox Code Playgroud)

如果你尝试登录并输入123作为密码,它的md5仍然是相同的,你可以比较它们.但是如果您的数据库被黑客入侵,黑客就无法以明文形式读取密码,只能读取散列值

  • +1.但请注意,在存储密码时,应在计算散列时添加额外的随机前缀,并将其与散列一起存储.这样,选择不良密码的用户不会受到哈希冲突的影响.这通常被称为_salt_.例如,如果两个用户都选择"secret"作为他们的密码,则散列将是相同的.可以访问一组密码的黑客可以查找这些常见的哈希值,从而发现生成它的密码.salt使得相同的密码极不可能为不同的用户产生相同的哈希. (6认同)

Geo*_*lly 5

可解密文件的属性始终至少与原始文件一样大,哈希值要小得多.

这允许我们从文件创建一个哈希,可以证明文件的完整性,而不存储它.

有许多理由不以加密或纯文本格式存储文件:

  • 一旦加密文件落入坏人之手,他们就可以尝试解密它.哈希不可能发生这种情况.

  • 您根本不需要自己的文件,但也许您将其发送给某人,并且该人可以使用哈希证明其完整性.

  • 为了获得有意义的压缩,您必须先压缩数据,然后对其进行加密.(为什么?因为加密良好的数据本质上是随机的,压缩依赖于数据中的模式,因此它不适用于随机数据.)在这种情况下,加密的数据是原始数据的压缩形式和Georg的声明加密数据必须至少与加密数据一样大(记住,现在是压缩形式)仍然成立. (2认同)