生成された base64 ハッシュから格納するパスワード列があります。したがって、ユーザーがログインするためのパスワードを入力すると、データベースのパスワード列とユーザー パスワードの base64 が比較されます。しかし、(mysql mysqldump を使用して) Linux から Windows 7 にデータを移行した後、パスワードが一致しません。DB からのパスワードと、ユーザーが入力したパスワードから生成された base64 ハッシュは同じように見えますが。Linux から Windows に移行するときにパスワード列を移行するときに、mysql で追加の手順を実行する必要がありますか。
注: Linux から別の Linux にデータを移行すると機能するため、Linux から Windows にデータを移行するときに unixtodos を実行する必要があると考えました。しかし、それでも失敗します。
アプリケーションでJavaを使用します
パスワードのエンコードに使用されるコード
try
{
MessageDigest md = MessageDigest.getInstance("SHA-512");
md.update(password.getBytes());
byte[] raw = md.digest();
encodedPassword = (new BASE64Encoder()).encode(raw);
}