【发布时间】:2011-08-19 18:13:18
【问题描述】:
我知道这不是一个好标题,我不希望任何人真正知道具体细节。
我特别指的是 PHP 的 md5 函数,它将密码更改为 32 位字符串,我认为...
无论如何,如果我有诸如“打字机”之类的密码,md5 函数会始终将其编码为完全相同的字符串吗?如果是这样,那么确定所有单词的编码并找到某人的密码肯定很容易吗?如果有一个函数可以对一个单词进行编码,那么肯定会有一个函数可以快速解码它......
什么是对用户密码进行编码最安全的方法,我读到过使用 salt 方法将另一个字符串附加到用户密码,但如果他们可以解码密码,他们肯定可以将 salt 解码为?
感谢您的宝贵时间,期待您的建议。
P.S 不确定是否很容易为此授予获胜者,因为这是一个相当开放的问题。
【问题讨论】:
-
MD5 实际上是一个 128 位的散列,大部分时间表示为 40 个字符的字符串。也就是说,这可能是“Secure hash and salt for PHP passwords”的副本
-
40?我看到大部分是 32 个字符串。不与 SHA1 混淆?