私はphpassのbcrypt機能を使用して自分のサイトのパスワードをハッシュしています。 これは実際には機能しません。 CheckPassword
関数と比較しようとすると機能しません。私は、ハッシュを解読するために使用したすべての関数から出てくるすべての文字列を広範囲にデバッグし、bcryptによって生成されたハッシュがかなりランダムであるという結論に達しました。したがって、新しく生成された平文パスワードのハッシュは、自分のデータベース内のハッシュと決して一致しません。本当?もしそうなら、私はそれをどのように機能させるのですか?ソースコードはかなりシンプルです。ユーザパスワードにbcryptを使用
// when creating user
<db insert code>$hash->HashPassword($_POST['password']);
// when logging in
return $hash->CheckPassword($user->password, $_POST['password']);
これらの2行のコードは、同じサーバー上で実行されていますか? phpassはサーバーのPHP設定で利用できない場合、自動的にダウングレードします(つまり、実際にbcryptを使用しません)。 –