ユーザーがサインアップおよびログイン時にパスワードを入力するときにphpassを使用しています。Macでローカルに作業しているときに機能しています。
しかし、オンラインでパスワードをハッシュすると、間違った方法でハッシュしているように見えます。
ローカル データベースをオンライン データベースにインポートしました。また、ローカルにいたときに生成されたパスワードは、オンラインのときにも完璧に機能します。
そう.. phpass online を使用していると、何かが完全にうまくいかないような気がします。
私はこのように使用しています:
$hasher = new PasswordHash(8, FALSE);
$password = HashPassword($_POST["password"]);
これは私に次のようなものを与えるでしょう:
_zzD.NrhAaUmhr6G8i5E //when I'm local
$2a$08$mt3//cn0tqMmug/.tjKeC.AbZhYyj470EY9zSivZvNOtwk4A //when I'm online
パスワードを確認すると、次のようになります。
$hasher = CheckPassword($_POST["password"], $row["password"]);
//$_POST is ofc. the submitted
//$row is the password for the user from the db.
//the user is found on the username and then im checking password.
何が悪いのか全くわかりません。SOの誰かが同じ問題を抱えていることを望んでいました。