Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用md5和控制字段对密码进行哈希运算_Java_Android_Md5 - Fatal编程技术网

Java 使用md5和控制字段对密码进行哈希运算

Java 使用md5和控制字段对密码进行哈希运算,java,android,md5,Java,Android,Md5,我想用MD5散列一个密码,我已经给出了一个名为MD5ControlHash的字符串 我发现我可以这样散列密码: public static void main(String[] args)throws Exception { String password = "123456"; MessageDigest md = MessageDigest.getInstance("MD5"); md.update(password.getByte

我想用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());
}
publicstaticvoidmain(字符串[]args)引发异常
{
字符串密码=“123456”;
MessageDigest md=MessageDigest.getInstance(“MD5”);
md.update(password.getBytes());
byte byteData[]=md.digest();
//将字节转换为十六进制格式方法1
StringBuffer sb=新的StringBuffer();
for(int i=0;i
但是我不知道我应该在哪里使用MD5CantolHash。有人能帮我吗? 这个代码正确吗

谢谢

如果MD5ControlHash是一个字符串,其中应该存储密码的哈希,您需要替换这行代码:

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

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

我当然希望你没有在任何“严肃”的代码中使用MD5作为密码哈希…不。文档中说MD5ControlHash是散列密码所需的字段。(MD5ControlHash是从服务器发送的)那个么,您是否应该将生成的哈希写入MD5ControlHash?从另一个字段获取密码?
MD5ControlHash = sb.toString();