我们有一个密码列,它存储从生成的 base64 哈希。所以当用户输入密码登录时,它会将数据库中的密码列与用户密码的base64进行比较。但是在将数据(使用 mysql mysqldump)从 Linux 迁移到 Windows 7 之后,密码不匹配。即使数据库中的密码和用户输入的密码生成的 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);
}