实现使用3des在页面js加密,后台java解密

23 篇文章 0 订阅

         前段时间根据功能的需要,需在页面对用户提交的表单数据采用3des加密,然后提交到后台。之前在网上通过百度、谷歌搜索了很久,虽然找到了很多的资料,但是总有各种问题。要嘛是js加密后,后台不能解密,要嘛是部分数据后台java代码解密失败。

         我对网上找的代码进行了修改,解决了这个问题。在js中对需加密数据不满足8位的采用空字符进行填充。在后台解密时,采用无填充模式(desede/CBC/NoPadding)。下面是具体的加密代码。

在页面上导入des.js的js文件。

<span style="font-family: Arial, Helvetica, sans-serif;">/**</span>
  *secretKey密钥需与java的3des的secretKey相同
  *在我的代码实现中secretKey是在后台生产,放入到redis的,每一次进入页面都会新生产一个。大家也可以把这个值写死在这里
  */
secretKey = "0123456789abcd0123456789";
//varStr需要加密的字符串
//enStr是已加密的字符串
var enStr=DES3.encrypt(secretKey,varStr);

后台java解密实现:

//secretKey值需要与js加密的secretKey密钥相同
secretKey = "0123456789abcd0123456789";
//value解密后的值
//enStr需要解密的只字符串
String value=DES3.decode(enStr, secretKey)

3des的js、java文件在下面zip中:

http://download.csdn.net/detail/mr_smile2014/9325545

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值