関数のMySQLドキュメントPASSWORD
:
PASSWORD() 関数は、MySQL Server の認証システムによって使用されます。独自のアプリケーションでは使用しないでください。そのためには、代わりに MD5() または SHA1() を検討してください。
アプリケーションでこの関数を使用すべきではないのはなぜですか?
私が考えることができるいくつかの理由
これは高速ハッシュ (私が信じている SHA1) であり、パスワード ハッシュには適していません。
MySQL の将来のバージョンで使用するハッシュが変更され、アプリケーションが壊れる可能性があります。彼らはすでにこれを一度行っているので、OLD_PASSWORD() 関数です。
本来はソルトを使用しません (ただし、PASSWORD 関数を呼び出す前にパスワードに追加することで、必要に応じてソルトを使用できます)。
これは非標準の SQL であるため、アプリを別のプラットフォームに移植する必要がある場合は、代わりの SQL を考え出す必要があります。