2017-06-29 7 views
-5

私は、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'、DBに '1234'として保存されています。

何か間違っていますか?

+1

「$ post」はどこから来ていますか? –

+0

var_dump $ post – MorganFreeFarm

+1

'$ hash'は整数ではなく、文字列です - 編集:一度' password_hash() 'が実行されたら –

答えて

-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 ['あなたがハッシングしたい値]で嫌われているものの入力値。

希望すると助かります

+0

塩を提供するのではなく、 'password_hash'が塩を作り出すことが推奨される。 PHP 7.xでは、saltオプションも削除されました。 [password_hash](http://php.net/manual/en/function.password-hash.php)を参照してください。「省略した場合、パスワードハッシュごとにpassword_hash()によってランダムな塩が生成されます。これは意図したモードです操作の。 – zaph

関連する問題