我正在处理一些制作 md5散列的示例 Java 代码。其中一部分将结果从字节转换为十六进制数字字符串:
byte messageDigest[] = algorithm.digest();
StringBuffer hexString = new StringBuffer();
for (int i=0;i<messageDigest.length;i++) {
hexString.append(Integer.toHexString(0xFF & messageDigest[i]));
}
然而,由于 toHexString 显然会丢失前导零,因此它并不能很好地工作。那么,从字节数组到保持前导零的十六进制字符串最简单的方法是什么呢?