0

私は最近、cakePHP について多くのことを学んでおり、ライブ Web サイトのインフラストラクチャを CakePHP に移行する準備をしています。

問題は、私のライブ Web サイトで、次のような bcrypt 暗号化を使用したことです。

$str = substr($username, 0, 3);
$salt = '$2a$12$soPld43fs5lo09lMsjU'.$str.'$';
$crypter_pass = crypt($password, $salt);

そして、データベースに$salt$crypter_passを保存します

現在、bcrypt を CakePHP で使用することも計画していますが、ユーザーにスムーズな移行を提供するためにこれら 2 つのメソッドを「マージ」する方法がよくわかりません。

私が考えていた方法は、ログインに「ユーザー名」のみを使用することでした。パスワードは必要ありません。ユーザーがログインすると、すぐに新しいパスワードを入力するよう求められます。

この方法は、ユーザーが 200 人までしかいないため、他のユーザーがログインして他のユーザーのアカウントを侵害する可能性が実際にないため、機能します。

解決策は素晴らしいですが、これを行う方法を理解するためにグーグルで検索する必要がある正しい「用語」を探しています。または、これを行うために学ぶ必要がある特定の方法。

ありがとう!

4

1 に答える 1

1

これらのリンクを確認してください。CakePHP はすでにさまざまなハッシュ方法と bcrypt をサポートしています。

独自のハッシュ方法が異なる場合、最善の方法は、古いハッシュ方法を使用してホールド ハッシュに対してログイン時にハッシュを検証することです。true の場合は、プレーン パスワードを使用し、新しいハッシュ メソッドを使用してハッシュして保存すると、「その場で」移行されます。古いハッシュ チェックが 2 番目の新しいハッシュ メソッドに対するチェックに失敗した場合。ユーザーに移行済みのフラグを立て、すべてのユーザーが完了したら、両方のチェックの使用を停止できます。

于 2013-06-06T18:57:35.487 に答える