![]() |
1
10
有关密码算法的更多详细信息,请参阅 http://www.gnu.org/software/libtool/manual/libc/crypt.html |
![]() |
2
1
正确,5f4dcc3b5aa765d61d8327deb882cf99是字符串“password”的MD5。它没有添加盐,但您可以通过使用MD5(“密码”)轻松添加盐。“盐” 但是,php crypt()函数可以使用各种不同的散列来计算散列。当您的盐前缀为“$1$”时,您会得到一个带有MD5的哈希。当你前缀为$2$时,你会得到一个带有河豚的地窖,这更安全。 在输出前面加上“$1$”以便可以验证哈希。如果没有包含,就无法从存储的哈希中知道应该使用哪种算法!这些信息必须存储在别处。为了避免这个问题,php在散列输出中包含了算法。 因此,为了验证哈希,您将用户提供的密码作为密码,并将第三个dollarsign之前的所有内容作为salt,然后查看得到的结果是否与存储的结果匹配。 混淆的下一部分是md5()函数给您一个十六进制散列,而crypt()函数给您一个用base64编码的散列。这是因为base64更高效。 简单吗? |
![]() |
3
0
它是一个MD5哈希,只是格式不正确。不应该给你一个问题。 |
![]() |
4
-1
这些是我的想法-不确定是否正确。 MD5计算哈希,而Crypt执行加密——尽管使用MD5风格。 哈希是单向的,对于任意长度的输入给出固定长度的结果。 加密是双向的,不会产生固定长度的结果。 我猜想MD5哈希RFC可能定义了使用[A-Z]、[A-Z]、[0-9]的结果,而加密没有这样的限制。 |
![]() |
Michael · 某些Windows客户端上的命名管道安全问题 1 年前 |
![]() |
adamency · 是否可以从Go二进制文件的源代码中检索字符串? 1 年前 |
![]() |
AlboSimo · PayPal Api密钥安全 1 年前 |