2012-09-06 27 views
0

可能重复:
Can I md5(sha1(password))?这片PHP是做什么的? (密码解密)

$pass = md5($_POST["pass"].sha1($_POST["pass"])) 

我看到这个地方,并感到困惑。这是否读取密码并使用sha1解密然后md5或反向?还是还有一些我错过的东西?

+2

'.'在PHP中连接字符串。 – irrelephant

+1

它提供安全散列密码的错觉,但未能安全地散列密码。 – mrlee

+0

可能重复的[我可以md5(sha1(密码))?](http://stackoverflow.com/questions/9143101/can-i-md5sha1password)和http://stackoverflow.com/questions/8110196/php- net-said-that-md5-and-sha1-不适合输入密码 – mario

回答

0

它用MD5对它进行哈希运算。

从表单中取出您的密码,添加盐并将整个事情散列化。

注:

的 '盐' 是另一散列。这是不是一个好主意这样做,盐应该是一个随机值,你已经作出,保持密码的安全。

+0

不确定为什么有人会投下正确答案?嗯 –

+0

我没有,但现在我做到了。你用自定义散列函数弄错了一个盐。正如我所说,现在-1。 – Tadeck

+0

不,他们是哈希密码,并将其用作盐。他们使用原始密码的散列版本腌制原始密码,然后用MD5对整个事物进行散列。所以没有错误。你说西红柿我说Tomahto ......仍然都是一样的东西 –

3

其实它密码密码。

它将清除密码与sha1'd密码连接起来。然后,它MD5整个事情

+2

加密可以颠倒。这不能,所以这是一个哈希,而不是一个加密。 – ceejayoz

+0

哦耶编辑.. –

11

它与sha1算法散列$_POST['pass'],那么散列相结合的$_POST['pass'],然后散列结果的合成后的字符串与md5算法。

为什么,我不知道。

5

它所做的是将密码与它的sha1散列版本(其中之一是salt)连接起来,然后将其散列成MD5值。