相关疑难解决方法(0)

如何使用password_hash

最近我一直试图在我在互联网上偶然发现的登录脚本中实现我自己的安全性.在努力学习如何制作我自己的脚本为每个用户生成一个盐之后,我偶然发现了password_hash.

根据我的理解(基于本页的阅读:http://php.net/manual/en/faq.passwords.php),当您使用password_hash时,已经在行中生成了salt.这是真的?

我的另一个问题是,含有2种盐是不是很聪明?一个直接在文件中,一个在DB中?这样,如果有人在数据库中泄露了你的盐,你仍然直接在文件中?我在这里读到,存储盐绝不是一个明智的想法,但它总是让我困惑的是人们的意思.

php salt password-hash php-password-hash

73
推荐指数
5
解决办法
11万
查看次数

password_hash每次都返回不同的值

我正在创建一个登录系统,我想对密码进行散列以使它们更安全,但每次都返回一个不同的散列,甚至无法使用password_verify()进行验证,这是我的代码:

$password = password_hash($password4, PASSWORD_DEFAULT);
Run Code Online (Sandbox Code Playgroud)

这是我的验证代码:

if(password_verify($password4, $dbpassword))
Run Code Online (Sandbox Code Playgroud)

php passwords hash php-password-hash

13
推荐指数
1
解决办法
8173
查看次数

使用password_hash和password_verify

在我的登录PHP文件中,我有这些

$passwordInput = password_hash($passInput, PASSWORD_BCRYPT);
$passwordVerify = password_verify($userInput, $passwordInput);
Run Code Online (Sandbox Code Playgroud)

在我的Register PHP文件中,我有这个.

$passwordSign = password_hash($passSign, PASSWORD_BCRYPT);
Run Code Online (Sandbox Code Playgroud)

现在,基本上我是这样做的,它哈希密码并在注册时将自己插入数据库.它做了什么.

但是,它无法验证它.两个结果都给出了两个不同的哈希,我不知道我可能做错了什么.我也试过让它再次哈希输入并检查数据库中的password_hash,但这不起作用..

使用这些的正确方法是什么?

(另外,$ passSign和$ userInput是输入字段,它确实获得用户名/密码)

php

6
推荐指数
1
解决办法
6455
查看次数

标签 统计

php ×3

php-password-hash ×2

hash ×1

password-hash ×1

passwords ×1

salt ×1