Php 密码\u散列而非散列

Php 密码\u散列而非散列,php,Php,我使用的是PHP7.1.6。我试图使用密码散列,但它似乎不工作。这是我的密码: $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'], PASSWOR

我使用的是PHP7.1.6。我试图使用密码散列,但它似乎不工作。这是我的密码:

$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'存储在数据库中

我做错什么了吗

 //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获取的值['要哈希的值']


希望对您有所帮助

$post
来自何处?请注意,var\u dump$post
$hash
是一个字符串,而不是整数-编辑:一旦
密码\u hash()
生效。请仔细阅读…:)不可能。您没有显示整个代码。建议不要提供salt,而是让
password\u hash
创建salt。在PHP7.x中,salt选项也被删除。请参阅,“如果省略,密码_hash()将为每个哈希密码生成一个随机salt。这是预期的操作模式。”