3

関数のMySQLドキュメントPASSWORD

PASSWORD() 関数は、MySQL Server の認証システムによって使用されます。独自のアプリケーションでは使用しないでください。そのためには、代わりに MD5() または SHA1() を検討してください。

アプリケーションでこの関数を使用すべきではないのはなぜですか?

4

1 に答える 1

2

私が考えることができるいくつかの理由

  1. これは高速ハッシュ (私が信じている SHA1) であり、パスワード ハッシュには適していません。

  2. MySQL の将来のバージョンで使用するハッシュが変更され、アプリケーションが壊れる可能性があります。彼らはすでにこれを一度行っているので、OLD_PASSWORD() 関数です。

  3. 本来はソルトを使用しません (ただし、PASSWORD 関数を呼び出す前にパスワードに追加することで、必要に応じてソルトを使用できます)。

  4. これは非標準の SQL であるため、アプリを別のプラットフォームに移植する必要がある場合は、代わりの SQL を考え出す必要があります。

于 2013-07-18T19:14:24.097 に答える