import java.security.MessageDigest;
  import org.bouncycastle.util.encoders.Hex;public class MD5Test { public static void main(String[] args) throws Exception {
String str = "这是javaMD5测试";
MessageDigest md5= MessageDigest.getInstance("md5");
md5.update(str.getBytes("utf-8"));
byte md5Byte[]=md5.digest();
System.out.println(new String(md5Byte,"utf-8"));
String hexmd5 = new String (Hex.encode(md5Byte));
System.out.println(hexmd5);
}}如上例是MD5的消息摘要,为什么进行消息摘要后输出的都是乱码,即此句System.out.println(new String(md5Byte,"utf-8"))输出时乱码??是不是密钥以明文显示存储在文件系统中时都需要通过16进制转换??????