3

MD5 を使用してユーザーのパスワードをハッシュし、それをデータベースに保存するシステムがあります。現在、SHA1 (およびユーザー固有ではなく固有のシステム SALT) を使用してパスワードをハッシュする別のシステムに変更しています。

PHP を使用して、ユーザーの古い MD5 パスワードを新しい SHA1 パスワードに変換するにはどうすればよいですか?

4

5 に答える 5

4

申し訳ありませんが、できません。

MD5 と SHA1 の両方のバージョンを保存し、ユーザーのログイン時に SHA1 コンテンツを入力することが最善の方法です。SHA1 バージョンが利用可能かどうかを確認し、利用できない場合は古い検証戦略を使用してください。

最終的には、ほとんどのユーザーを新しい SHA1/SALT ベースのシステムに透過的に移行する必要があります。

于 2013-05-31T18:46:19.500 に答える
1

ユーザーがパスワードを再入力しない限り、ハッシュ タイプを変更することはできません。それらは不可逆的な一方向ハッシュです。レインボー テーブルでルックアップを試みることもできると思いますが、特定のハッシュには複数の衝突があるため、それも 100% うまくいくとは限りません。また、あなたの塩はそれを無効にします. それが塩のポイントです。

于 2013-05-31T18:46:06.990 に答える
1

それらの SHA1 バージョンを作成するには、元の平文パスワードが必要です。ただし、MD5 ハッシュはもちろん 1 つの方法です。そのため、たまたま平文バージョンのパスワードを持っていない限り、やりたいことを実行する方法はありません。

于 2013-05-31T18:46:18.250 に答える