0

少し窮地に陥っています。私の mysql 4.1.0 データベースはアップグレードする必要があります (1and1) が、アプリケーションがハッシュに PASSWORD() を使用しているようです。mysql 5 のアップグレードでは、パスワードを正しく読み取って検証できないため、PASSWORD() はまったく異なる結果をもたらします。

OLD_PASSWORD() は、4.1.0 バージョンではなく、それ以前の 4.0 に対して暗号化/復号化するようには見えません。

私に何ができる?

4

1 に答える 1

0

「互換性のために、DBA とアプリケーションがハッシュ方式を制御できるようにするために、old_passwords システム変数が追加されました。デフォルトの old_passwords 値 0 により、ハッシュは 4.1 方式 (41 バイトのハッシュ値) を使用しますが、old_passwords=1 を設定すると、 4.1 より前の方法を使用するためのハッシュ。この場合、PASSWORD() は 16 バイトの値を生成し、OLD_PASSWORD() と同等です」

全員に新しいパスワードを作成させ、電子メールとランダム キーで検証してから、新しいパスワードを適切な方法 (PHPass などを使用するか、少なくともソルトを使用した bcrypt を使用) で保存するように強制することをお勧めします。

于 2013-06-11T23:35:52.940 に答える