我有一个网站,一旦注册,你打算登录。要登录,php代码会通过执行以下操作来检查密码是否正确:
$subuser = stripslashes($subuser);
$result = $database->confirmUserPass($subuser, md5($subpass));
$ subuser是用户登录时输入的用户名。 $ subpass是用户登录时输入的密码。
现在php代码加密给定的密码($ subpass)并检查数据库以查看加密是否匹配。
现在的问题是:我目前正在制作一个内置网站的登录表单的java应用程序。我希望java代码能像php代码那样做。我已经阅读了多个地方,但我仍然不明白该怎么做。这是迄今为止的java代码:
String password = "pass";
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(password.getBytes(), 0, password.length());
System.out.println(new BigInteger(1, md.digest()).toString(32));
} catch(NoSuchAlgorithmException e) {
e.printStackTrace();
}
当我在java中运行此代码时,它意味着给我与PHP中相同的加密字符串,但问题是它不会...... :(有没有人知道我做错了什么/错过了?谢谢
如果需要更多信息,请问我,我希望编辑这篇文章并包含其他详细信息。
答案 0 :(得分:0)
将第4行和第5行修改为
md.update(password.getBytes());
System.out.println(new BigInteger(1, md.digest()).toString(16));