DES3加解密問題

前端JS des3 加密後 後臺JAVA 無法解密的問題 報錯:Input length not multiple of 8 bytes
填充模式 向量 加解密模式都檢查了 而且更改後做了測試,都還是一樣的報錯。

最終懷疑是密鑰的問題,然後開始測試

var str = "123567865423567863324";
document.write("原始字符串:</br>"+str);
var key = "0123456789abcd0123456789";
var des3en = DES3.encrypt(key,str);
document.write("</br>des3加密:</br>"+des3en);

頁面輸出:
des3加密:
byTSs+5msFKCJSLRHZ2s56BdeHWK6AEoaiKgtUMPJmq5gmRpocUMQWdI6aljcMWyI0tT4M2vyFft2fZwzl4BRx9WLqWNbII/KTGzTIJCXO8VMhVzctb3g62mjK6SJaKf8fHHfhGxD3aFZ450ZmvZvxDNrxhwjOj12JzMGJ1Wsg==

是一兩個 ==結尾的 而後臺java解密的時候就會少8個字節導致報錯:Input length not multiple of 8 bytes

而同樣的代碼:

var str = "123567865423567863324";
document.write("原始字符串:</br>"+str);
var key = "0lianaemp9abcd0lianaemp1";
var des3en = DES3.encrypt(key,str);
document.write("</br>des3加密:</br>"+des3en);

更改了一下密鑰 加密後:
des3加密:
3CLNgbExAPfsbDJM6Vv/ymEVwhEQ9HUCVxmM8HXxGIvXKi5vX7wUgs3SALBUP2CfeXqB7APTdiCB3GFsbZIkIcxVACNWOlk6qXYjeBTc531eBwjiPYCPRkTPvwwBh3PMkElKJA7eSzFW7xGuPkWe8ls4xnlQCJxixcKwg3Q8TdA=
這裏的密文最後只有一個“=” 後臺就可以解密了

但是 一直沒有找到爲什麼

主要代碼引用的

https://www.oschina.net/code/snippet_123236_45994 文章中的JS和html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章