2

我知道 sha1() 不安全,但我客户的网站使用这样的东西来散列密码:

$salt = '123abckkk';
$hash = sha1($salt.$password);

现在我猜如果有人闯入数据库并窃取了哈希值,那么他们将无法破解它们,因为没有一个哈希值来自常用词,因为他们混合了“123abckkk” .

不确定这是否是它的工作原理,但如果这不是一种安全的方法,那么请告诉我原因。

4

1 回答 1

2
  1. 您不应该使用md5sha1散列密码,而是使用password_hash.

    • 散列密码不是为了您的安全。这是为了您的用户的安全。我们假设攻击者有你的数据库的转储,并且有很长的时间将散列反转为密码。散列函数花费的时间越长,攻击者破解这些密码的时间就越长。延迟它们的时间可用于警告您的用户并告诉他们在不同的网络上更改密码。

  2. 哈希值应该是唯一的,而不是一组字符串,例如123abckkk.

于 2013-08-05T05:38:52.590 回答