博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java中3DES+Base64解密
阅读量:5883 次
发布时间:2019-06-19

本文共 920 字,大约阅读时间需要 3 分钟。

hot3.png

//3DES算法,CBC模式无填充方式解密过程

public static String decryptMode( byte[] src) throws Exception {

  String decryptByte = null;
  final String keyBase64 = "Base64编码后的key";
  final String ivBase64 = "Base64编码后的iv向量";
  byte[] keybyte = getFromBASE64(keyBase64);
  byte[] ivbyte = getFromBASE64(ivBase64);
  SecureRandom sr = new SecureRandom();
  DESedeKeySpec dks = new DESedeKeySpec(keybyte);
  SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DESede");
  SecretKey securekey = keyFactory.generateSecret(dks);
  IvParameterSpec iv = new IvParameterSpec(ivbyte);
  Cipher cipher = Cipher.getInstance("DESede/CBC/NoPadding");
  cipher.init(Cipher.DECRYPT_MODE, securekey, iv);
  decryptByte = new String(cipher.doFinal(src),"UTF-8");
  return decryptByte;
 }
 // 将 BASE64 编码的字符串s 进行解码
 public static byte[] getFromBASE64(String s) throws Exception {
        return (new BASE64Decoder()).decodeBuffer(s);
    }

参考了:

转载于:https://my.oschina.net/u/2395098/blog/624779

你可能感兴趣的文章
总部关于数据集成工程师的招聘要求
查看>>
[git]一个本地仓库,多个远程仓库
查看>>
POJO
查看>>
大数据分页实现与性能优化
查看>>
Vue --- :is
查看>>
VB.NET中图像处理的一些技巧以及其和C#图像处理的差距。
查看>>
CuteC Editor 更新发布
查看>>
浅谈JavaScript中的继承
查看>>
RxJava笔记
查看>>
How to change java version in Linux
查看>>
vi 使用
查看>>
[踩过的坑]Elasticsearch.Net 官网示例的坑
查看>>
[hiho]最大集合
查看>>
2. SQL 语法
查看>>
【转】iOS学习之iOS禁止Touch事件
查看>>
Asp.net MVC进入请求管道的过程
查看>>
easyUI表格多表头实现
查看>>
java基础1。面向对象
查看>>
系统设计题杂
查看>>
Jmeter分布式测试
查看>>