課程
/后端開發(fā)
/Java
/Java實現(xiàn)消息摘要算法加密
md4加密的算法中:update方法是什么意思?
doFinal方法是什么意思?
2016-06-26
源自:Java實現(xiàn)消息摘要算法加密 2-2
正在回答
創(chuàng)建一個實例對象之后,調(diào)用實例對象的update()方法,將原文信息更新到摘要信息中,獲取摘要信息的長度,然后調(diào)用實例對象的doFinal()方法,執(zhí)行加密信息的長度以及起始位置。最終的加密信息是通過調(diào)用doFinal()方法執(zhí)行后為結(jié)果的。
少艾 提問者
回復(fù) 少艾:你說的是 SecretKey restoreSecretKey=new SecretKeySpec(key,”HmacMD5”)這一行代碼嗎,我也很疑惑。覺得應(yīng)該是口誤說錯了吧。在JDK文檔SecretKeySpec類中有兩個帶參數(shù)的構(gòu)造方法,其中一個就是帶有兩個參數(shù)的,是這樣寫的“SecretKeySpec(byte[] key, String algorithm)---- 根據(jù)給定的字節(jié)數(shù)組構(gòu)造一個密鑰。其中兩個參數(shù):key - 密鑰的密鑰內(nèi)容。復(fù)制該數(shù)組的內(nèi)容來防止后續(xù)修改。algorithm - 跟給定的密鑰內(nèi)容相關(guān)聯(lián)的密鑰算法的名稱”這樣一來restoreSecretKey應(yīng)該是做了兩件事,一個就是復(fù)制key的內(nèi)容,二是得到了生成key的”HmacMD5”(秘鑰算法),然后根據(jù)這兩個參數(shù)實例化了一個Mac對象并將其初始化(init),最后處理原文的字節(jié)數(shù)組(src.getBytes())并完成 Mac加密操作。這樣一來,我覺的是不是任何加密算法都可以通過給Mac.getInstance()傳遞一個算法參數(shù)就可將其算法實例化為Mac加密對象呢。(我也是剛學(xué),原理不明白)
舉報
Java中應(yīng)用消息摘要算法進(jìn)行加解密,以及他們的應(yīng)用場景
1 回答為什么沒有將MD加密的算法在解密的?
1 回答MD5 消息摘要 數(shù)據(jù)庫密碼加密
1 回答都有哪些加密啊
1 回答MD5加密的安全性
1 回答這個加密不安全吧
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-06-27
創(chuàng)建一個實例對象之后,調(diào)用實例對象的update()方法,將原文信息更新到摘要信息中,獲取摘要信息的長度,然后調(diào)用實例對象的doFinal()方法,執(zhí)行加密信息的長度以及起始位置。最終的加密信息是通過調(diào)用doFinal()方法執(zhí)行后為結(jié)果的。
2016-06-27
回復(fù) 少艾:你說的是 SecretKey restoreSecretKey=new SecretKeySpec(key,”HmacMD5”)這一行代碼嗎,我也很疑惑。覺得應(yīng)該是口誤說錯了吧。在JDK文檔SecretKeySpec類中有兩個帶參數(shù)的構(gòu)造方法,其中一個就是帶有兩個參數(shù)的,是這樣寫的
“SecretKeySpec(byte[] key, String algorithm)---- 根據(jù)給定的字節(jié)數(shù)組構(gòu)造一個密鑰。
其中兩個參數(shù):key - 密鑰的密鑰內(nèi)容。復(fù)制該數(shù)組的內(nèi)容來防止后續(xù)修改。
algorithm - 跟給定的密鑰內(nèi)容相關(guān)聯(lián)的密鑰算法的名稱”
這樣一來restoreSecretKey應(yīng)該是做了兩件事,一個就是復(fù)制key的內(nèi)容,二是得到了生成key的”HmacMD5”(秘鑰算法),然后根據(jù)這兩個參數(shù)實例化了一個Mac對象并將其初始化(init),最后處理原文的字節(jié)數(shù)組(src.getBytes())并完成 Mac加密操作。這樣一來,我覺的是不是任何加密算法都可以通過給Mac.getInstance()傳遞一個算法參數(shù)就可將其算法實例化為Mac加密對象呢。(我也是剛學(xué),原理不明白)