【问题标题】:hashing password using md5 and a control field使用 md5 和控制字段散列密码
【发布时间】:2014-06-30 06:31:29
【问题描述】:

我想使用 MD5 对密码进行哈希处理,并且我给出了一个名为 MD5ControlHash 的字符串 我发现我可以用这种方式散列密码:

 public static void main(String[] args)throws Exception
    {
        String password = "123456";

        MessageDigest md = MessageDigest.getInstance("MD5");
        md.update(password.getBytes());

        byte byteData[] = md.digest();

        //convert the byte to hex format method 1
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < byteData.length; i++) {
         sb.append(Integer.toString((byteData[i] & 0xff) + 0x100, 16).substring(1));
        }

        System.out.println("Digest(in hex format):: " + sb.toString());
}

但是我不知道应该在哪里使用MD5ContolHash。谁能帮我? 这段代码能正常工作吗?

谢谢

【问题讨论】:

  • 我当然希望您没有在任何“严肃”代码中使用 MD5 作为密码哈希...

标签: java android md5


【解决方案1】:

如果MD5ControlHash是字符串,密码的hash应该存放在哪里,需要替换这行代码:

System.out.println("Digest(in hex format):: " + sb.toString());

MD5ControlHash = sb.toString();

如果这个名为 MD5ControlHash 的字符串存储了要散列的源数据,只需使用 MD5ControlHash 而不是 password 如果您怀疑代码的正确性,请尝试一下!

【讨论】:

  • 没有。文档说 MD5ControlHash 是哈希密码所需的字段。 (MD5ControlHash 是从服务器发送的)
  • 那么也许您应该将生成的哈希写入 MD5ControlHash?并从其他字段获取密码?
猜你喜欢
  • 2012-04-19
  • 2010-12-04
  • 2016-11-03
  • 2011-05-18
  • 2011-10-29
  • 2014-09-09
  • 2013-04-24
  • 1970-01-01
相关资源
最近更新 更多