首页 > 设计 > WEB开发 > 正文

DES3加解密问题

2019-11-02 18:23:07
字体:
来源:转载
供稿:网友

前端JS des3 加密后 后台java 无法解密的问题 报错:Input length not multiple of 8 bytes 填充模式 向量 加解密模式都检查了 而且更改后做了测试,都还是一样的报错。

最终怀疑是密钥的问题,然后开始测试

var str = "EMP_SID=null#channel=1201#responseFormat=JSON#mobileNo=13550777557#flag=0#liana_notCheckUrl=false#currentBusinessCode=02000015#";document.write("原始字符串:</br>"+str);var key = "0lianaemp9abcd0lianaemp9";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 = "EMP_SID=null#channel=1201#responseFormat=JSON#mobileNo=13550777557#flag=0#liana_notCheckUrl=false#currentBusinessCode=02000015#";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


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表