【发布时间】:2011-01-08 08:34:26
【问题描述】:
package ewa;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.math.BigInteger;
/**
*
* @author Lotus
*/
public class md5Hash {
public static void main(String[] args) throws NoSuchAlgorithmException {
String test = "abc";
MessageDigest md = MessageDigest.getInstance("MD5");
try {
md.update(test.getBytes("UTF-8"));
byte[] result = md.digest();
BigInteger bi = new BigInteger(result);
String hex = bi.toString(16);
System.out.println("Pringting result");
System.out.println(hex);
} catch (UnsupportedEncodingException ex) {
Logger.getLogger(md5Hash.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
我正在测试字节到十六进制的转换,完成后,最终结果在字符串的开头有一个减号,为什么会发生这种情况?我已经阅读了文档,它说它会添加一个减号,但是我不明白。减号会影响哈希结果吗?因为我要实现它来散列存储在我的数据库中的密码
【问题讨论】:
标签: java