4.0以前と4.1以降のパスワード方式の違い

[参考記事] MySQL(MariaDB)をユーザー情報を含めてすべて移行する方法

MySQLでは、4.0以前、4.1.0、4.1.1以降でパスワードの扱いが異なります。

MySQL4.1.0は、4.1ハッシュ方式の予備バージョンが使用されています。

4.0以前のハッシュ方式では、パスワードは16バイトです。
4.1.1以降のハッシュ方式では、パスワードは41バイトです。

セキュリティのためパスワードハッシュ長が長くなっています。
これにより4.1.1以降ではいくつかの変更がされています。

4.0以前 4.1.1以降
パスワード長 16バイトの英数字 41バイト
先頭が「*」で、残りが英数字
userテーブルのPasswordカラム 16バイト長 41バイト長
MySQL5.7以降はauthentication_stringカラム
関数 OLD_PASSWORD() 関数の追加
16バイト形式のハッシュ値を返す
システム変数 互換のためのold_passwordsの追加

システム変数のold_passwordsが0だとハッシュは4.1方式、old_passwords=1だと4.0以前の方式でPASSWORD()とOLD_PASSWORD()が同等になります。

/etc/my.cnf
[mysqld]
old-passwords

スポンサーリンク

関連記事

スポンサーリンク

Object.prototype

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る