1
我已经创建了MD5散列。它现在工作正常。我想输出16个字符。当前代码返回32个字符。在Java中生成MD5散列 - 输出16个字符
这是我的代码:
try {
String text = "Hello World";
MessageDigest msg = MessageDigest.getInstance("MD5");
msg.update(text.getBytes(), 0, text.length());
String digest1 = new BigInteger(1, msg.digest()).toString(16);
System.out.println("MD5: " + digest1.length());
System.out.println("MD5: " + digest1);
} catch (NoSuchAlgorithmException ex) {
Logger.getLogger(AndroidActivationView.class.getName()).log(Level.SEVERE, null, ex);
}
,我想改变它。
我怎样才能得到16个字符的输出。
在此先感谢;
呃... MD5是一个128位散列,也就是说,16个字节。它可以用32个十六进制字符表示。你想将原始数据作为ASCII字符串吗? – Ryan 2011-12-14 04:41:48