DES 加密

最近项目需要保存密码,对于客户来说 密码对他来说是透明的! 也就是说密码保存的时候加密,取的时候又需要解密! 所以用 DES!


主要是将碰到的问题 列出来记录下!

1:加密得出的byte数组 直接解密是ok的!

2:加密得出的byte数组,通过utf-8 转成string (new String(bytes,"utf-8"));  再  str.getBytes("utf-8") 再解密 就会报错!  什么 密钥要是8 的倍数  !今天想再重现 没重现成功 但是报了个别的错误

Exception in thread "main" java.lang.RuntimeException: decrypt occurred exception

其实就是解密失败了!

3:如果加密得到的结果 循环 byte转成 char 然后拼成 string 再 string 转成byte 是解密成功的



所以问题出在了  byte转成string 上面了! 可是为什么呢? 其实我也不知道 ,但是我试验出来了 原因

因为 解密出来的byte 数组里面有负数


昨天的解决办法是 先base64加密 然后就好了  呵呵呵!


package com.sinitek.sfm.trade.dbn.utils;

import org.apache.commons.lang.Stri
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值