问答详情
源自:2-2 MD算法实现

byte数组转化为String

为什么MD5加密经过MessageDigest处理以后生成的byte[]数组,在转换成String型时,要用Hex.encodeHexString(bytes),而不能直接用new String(byte[]数组)呢,否则会出现乱码?

MessageDigest md = MessageDigest.getInstance("MD5");

byte[] bytes=md.digest(src.getBytes());

//System.out.println("jdkMd5 byte数组转String :" +new String(bytes)); 乱码

System.out.println("jdkMd5 :" +Hex.encodeHexString(bytes));


提问者:大路孙 2016-08-23 11:00

个回答

  • 黎明前的黄昏
    2016-08-23 17:42:39
    已采纳

    MD5 Message-Digest算法计算一个字符串 str 的MD5哈希值并返回. 这个哈希值是一个32个字符的16进制数.