【问题标题】:PHP Password - Salted, reversed, encrypted [closed]PHP密码-加盐,反转,加密[关闭]
【发布时间】:2012-07-05 07:58:46
【问题描述】:

我只是想知道这个脚本对于密码加密是否足够安全:

<?php

$password    = 'password';
$salt        = '9awd8n12jok1llawawf';

$new         = hash($password . $salt, 'ripemd160');
final        = strrev($new);

?>

谢谢。

【问题讨论】:

  • 什么密码加密?密码的价值有多大?你在处理财务吗?
  • 为什么要反转呢?这是完全没有必要的,并且不会增加安全性。
  • 没有。请阅读:*.com/questions/1645161/….
  • 这取决于你的盐。那是静态的吗?
  • 顺便说一下hash()的正确用法。

标签: php security encryption hash passwords


【解决方案1】:

不要为每个密码使用相同的盐。通常你想要做的是使用一些可复制的值作为盐。例如,一些用户 id 的哈希(如果用户 id 永远不会改变),或者一些随机字符串,你保存在用户帐户信息中。最终用户永远都不能看到盐。

【讨论】:

  • 需要明确的是,如果盐对最终用户可见,这并不是令人发指的安全违规行为。它可能会使破解用户密码更容易一些,但只要您不向用户透露 all 盐,这应该没什么大不了的。但实际上,最终用户不应该看到盐的原因,我只是说不要将它编码到 cookie 或任何东西中,它应该只在服务器端使用。
【解决方案2】:

如果您想提供更高的安全性,请存储用户注册时间戳并将其用于哈希盐。 这样哈希盐就更随机了,你的数据也更安全了。

【讨论】: