我正在使用一些用于生成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 显然会删除前导零。那么,从字节数组转换为十六进制字符串并保留前导零的最简单方法是什么?