【发布时间】:2012-02-04 18:06:30
【问题描述】:
我目前正在编写自己的 CMS 并且处于密码状态...
我想知道我是否可以md5 一个密码然后sha1 它之后?
喜欢:
$password = md5(sha1(mysql_real_escape_string($_POST['passw'])));
【问题讨论】:
-
可以计算任意字节序列的sha1的md5。为什么要问?
-
我在问,因为我不想让我的 CMS 崩溃!那我可以吗?
-
请注意,您不应该转义密码,当它们使用 md5、sha1 等字母数字散列进行散列时,它们不能包含任何有害字符 - 它可能会更改密码用户期望。
-
你知道在你的例子中,你会得到一个
MD5字符串,而不是SHA1吗?如果你想'sha1之后',你需要交换md5和sha1。 -
@Dan 虽然你后面的说法是对的,但前者不是。首先,它取决于输出格式和散列结果可能需要转义。其次,不去想是否必须转义字符串总是一个好习惯。应该是无条件的。对我来说是肯定的。