【发布时间】:2018-08-30 20:20:16
【问题描述】:
我有一个字符串配置,例如:“healtheworld”
我使用这样的密码哈希转换它
password_hash($string, PASSWORD_DEFAULT)
然后我将它存储在数据库中,内部字段>>“令牌”(主键)
我能做到吗?
如果可以的话,如果再次生成password_hash字符串,是否有机会在数据库上出现同样的结果?
【问题讨论】:
-
总之,是的,应该没问题。见security.stackexchange.com/questions/162679/…
-
password_hash("healtheworld", PASSWORD_DEFAULT)每次使用时都会生成不同的哈希,这是因为为了对抗彩虹表..您需要使用password_verify("healtheworld", $hash)来验证数据库存储的哈希..php.net/manual/en/function.password-verify.php跨度> -
是的,你可以。但显然不会有“自动增量”,这意味着您必须在插入数据时提供密钥。旁注:您也可以使用 UNIQUE 键
-
但是如果使用
password_hash()@CD001,即使密码是the same 开头的段落“迈克尔更改了他的用户名但他的密码非常熟悉:”,哈希值也会有所不同: -
@JayBlanchard - 我大概想到了。写评论后 0.5 秒 ;)
标签: php mysql database codeigniter