密码检查

时间:2013-04-03 15:56:14

标签: java md5

我有一个网站,一旦注册,你打算登录。要登录,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中相同的加密字符串,但问题是它不会...... :(有没有人知道我做错了什么/错过了?谢谢

如果需要更多信息,请问我,我希望编辑这篇文章并包含其他详细信息。

1 个答案:

答案 0 :(得分:0)

将第4行和第5行修改为

md.update(password.getBytes());
System.out.println(new BigInteger(1, md.digest()).toString(16));