【发布时间】:2016-04-08 04:41:50
【问题描述】:
我得到了一个用 Java 生成 MD5 哈希的代码。它在字节数组“bytes”中生成哈希,然后转换为整数,然后转换为字符串,如下所示:
byte[] bytes=md.digest(textToHash.getBytes());
StringBuilder sb=new StringBuilder();
for(int i=0;i<bytes.length;i++)
sb.append(Integer.toString((bytes[i] & 0xff) + 0x100, 16).substring(1));
我知道bytes[i] & 0xff 将字节转换为 32 位长度的整数,并将字节复制到整数的最低有效字节:
What does value & 0xff do in Java?
但是我无法理解上述代码第 4 行括号中的 + 0x100, 16 做了什么。感谢您的帮助。
【问题讨论】:
标签: java integer byte tostring