课程
/后端开发
/Java
/Java实现消息摘要算法加密
CC sha1-1:"+DigestUtils.sha1Hex(src.getBytes()) CC sha1-2:"+DigestUtils.sha1Hex(src) 我通过这两种方式得到的值为什么不同啊?
2016-10-27
源自:Java实现消息摘要算法加密 3-2
正在回答
这个是因为DigestUtils.sha1Hex(src)中是默认使用UTF-8的编码格式来获取字节数组的,而DigestUtils.sha1Hex(src.getBytes())是用系统默认的编码格式来获取字节数组的,不一定是UTF-8。
由于字节数组不同,所以结果也不同
所以
DigestUtils.sha1Hex(src)
应该等于
DigestUtils.sha1Hex(src.getBytes("UTF-8"))
举报
Java中应用消息摘要算法进行加解密,以及他们的应用场景
1 回答请问,散列算法加密后的的结果为128位长度为什么最终打印到控制台上的却是32个字符
1 回答使用MAC时发现的问题:有些算法可以得到一致结果,有些则不同
4 回答jdk 的hmacMD5操作同一字符串,,为什么在控制台输出的内容不同呢?
5 回答问答区没看到我想要的答案,实在不知道这里为什么要还原密钥。
1 回答老师4:27处查看函数的快捷键是什么啊