Password_hash不散列

时间:2017-06-29 11:16:08

标签: php

我使用的是php 7.1.6。我正在尝试使用password_hash但它似乎没有工作。这是我的代码:

$post = $this->input->post();
$maxid = $this->db->query('SELECT MAX(App_Users.ID) AS MAXID FROM App_Users')->row()->MAXID;
$maxid = $maxid + 1;
$hash = password_hash($post['Password'], PASSWORD_DEFAULT);
$this->db->query("INSERT INTO APP_USERS (ID, NAME, PASSWORD) 
VALUES(".$maxid.", '".$post['Name']."', '". $hash ."')");

密码正在存储而不进行散列。 $ post ['Password'] ='1234',它作为'1234'存储在数据库中。

我做错了吗?

1 个答案:

答案 0 :(得分:-1)

 //this is normal way to generate has password//
$hash = password_hash("input value", PASSWORD_DEFAULT);
$this->db->query("INSERT INTO APP_USERS (ID, NAME, PASSWORD) 
VALUES(".$maxid.", '".$post['Name']."', '". $hash ."')");

//In this way we can provide cost and salt to generate hash value//

$options = [
'cost' => 11,
'salt' => mcrypt_create_iv(22, MCRYPT_DEV_URANDOM),
 ];
$hash = password_hash("input value", PASSWORD_BCRYPT, $options);

您通过$ post ['您想要散列的值']所获得的输入值。

希望它对你有所帮助