MySQLパスワードハッシュの長さ
データベース | 2009-03-06【備忘録】MySQLパスワードハッシュの長さ
JDBCを使い、MySQLにパスワードをハッシュ値で保存しようとした際、
下記のエラーが起きました。
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data truncated for column ‘カラム名’ at row 1
上記のエラーは文字列が大きいため切り捨てを行った際に出る警告みたいです。
ハッシュ値を入れるカラムは20バイト長にしていたのですが、
それが原因だったようです。
というのも、MySQL 4.1 より前は、
PASSWORD() 関数によって計算されるパスワードハッシュは 16 バイト長でしたが、
MySQL 4.1 から、PASSWORD() 関数が、
41 バイトのハッシュ値を生成するようになったためでした。
ということで、該当のカラムの長さを
41バイト長より長いもので設定しなおしたら解決できました。
下記サイトを参考にさせて頂きましたm(__)m
4.3.11. MySQL 4.1 のパスワードハッシュ