我有一个用户表,每个用户都有密码和密码盐
我想使用sql脚本重置每个用户密码,但我知道要知道哪个哈希用于密码,这是一个例子:
pass : $2y$10$WjgvLQbIyx4Oab69b2vEKuOPafgWC2yzWD7JqYvC6dgvjW2iuNi/m
password salt: AF7
答案 0 :(得分:2)
看起来好像是使用PHP函数password_hash生成哈希密码。
开头的$2y$10$
似乎表明使用了默认算法(第二个参数):
password_hash(password, PASSWORD_DEFAULT)
我希望你没有使用“AF7”作为所有密码的盐。那将完全打败它的目的。这与完全不使用盐一样。
设置新密码时,与最初使用的散列函数无关。相反,用于验证密码的重要性。我假设使用了PHP的password_verify函数。因此,您可以轻松使用不同的算法和随机盐。它全部编码在存储在数据库中的字符串中,password_verify
将能够处理它。
答案 1 :(得分:1)
这看起来像是由password_hash,bcrypt或类似方法等方法生成的哈希。
哈希不是加密,它们的单向函数设计为不可逆,信息在设计中,在散列函数中丢失。