0

How do you use bcrypt for hashing passwords in PHP?のトップ ソリューションの投稿を試しました。 しかし、例が機能していないようです。Bcrypt クラスをコピーし、その下部に次のコードを追加しました。

$bcrypt = new Bcrypt(15);

// pw on server. Used $pwHash = $bcrypt->hash($formPassword); to get the hash from 'qwerty'.
$serverPw = '$2a$15$Ty6hIEEWFpUFHoKujvdmw.9kmyrwYip2s8TLdjDfNoVJuQx/TGgwu'; 

// user enters plain text pw...
$passAttempt = 'qwerty';

// attempt to check the attempted password against the server hashed pasword.
$pwVerify = $bcrypt->verify($serverPw, $passAttempt); 

if ( $pwVerify == 1 ) {echo "$pwVerify = true";} else {echo "$pwVerify = not true";}
// I also tried if ($pwVerify) and if ($bcrypt->verify($serverPw, $passAttempt))
// Output is "= not true"

ここで何が問題なのですか?

4

1 に答える 1

2

パスワードと BCrypt のときに使用するソルトを保存する必要があります。そうしないと、同じ文字列が得られません。このクラスは私にはかなり壊れているようです。使用しないでください。PHP の crypt 関数を直接使用するには、この例ドキュメントを参照してください。

編集:おそらくPHPPassを使用する必要があります。よくテストされ、参照されているライブラリのようです。

于 2012-07-04T09:57:50.963 に答える