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

我的结果为什么和老师不一样

CC sha1-1:"+DigestUtils.sha1Hex(src.getBytes()) CC sha1-2:"+DigestUtils.sha1Hex(src) 我通过这两种方式得到的值为什么不同啊?

提问者:慕粉3534043 2016-10-27 15:44

个回答

  • 明日之春
    2016-10-30 21:59:22

    这个是因为DigestUtils.sha1Hex(src)中是默认使用UTF-8的编码格式来获取字节数组的,而DigestUtils.sha1Hex(src.getBytes())是用系统默认的编码格式来获取字节数组的,不一定是UTF-8。

    由于字节数组不同,所以结果也不同

    所以

    DigestUtils.sha1Hex(src)

    应该等于

    DigestUtils.sha1Hex(src.getBytes("UTF-8"))