課程
/后端開發
/Java
/Java實現消息摘要算法加密
CC sha1-1:"+DigestUtils.sha1Hex(src.getBytes()) CC sha1-2:"+DigestUtils.sha1Hex(src) 我通過這兩種方式得到的值為什么不同?。?/p>
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處查看函數的快捷鍵是什么啊
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-10-30
這個是因為DigestUtils.sha1Hex(src)中是默認使用UTF-8的編碼格式來獲取字節數組的,而DigestUtils.sha1Hex(src.getBytes())是用系統默認的編碼格式來獲取字節數組的,不一定是UTF-8。
由于字節數組不同,所以結果也不同
所以
DigestUtils.sha1Hex(src)
應該等于
DigestUtils.sha1Hex(src.getBytes("UTF-8"))