Java DES 加解密("DES/CBC/PKCS5Padding")
JAVA quot 加解密 DES CBC
2023-09-11 14:17:56 时间
/** * DES加密 * * @param data 加密数据 * @param key 密钥 * @return 返回加密后的数据 */ public static byte[] desEncrypt(byte[] data, String key, String charset) { try { Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding"); byte[] k = charset == null || charset.trim().isEmpty() ? key.getBytes() : key.getBytes(charset); SecretKey secretKey = SecretKeyFactory.getInstance("DES").generateSecret(new DESKeySpec(k)); cipher.init(Cipher.ENCRYPT_MODE, secretKey, new IvParameterSpec(k)); return cipher.doFinal(data); } catch (Exception e) { return null; } } /** * DES解密 * * @param data 解密数据 * @param key 密钥 * @return 返回解密后的数据 */ public static String desDecrypt(byte[] data, String key, String charset) { try { Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding"); byte[] k = charset == null || charset.trim().isEmpty() ? key.getBytes() : key.getBytes(charset); cipher.init(Cipher.DECRYPT_MODE, SecretKeyFactory.getInstance("DES").generateSecret(new DESKeySpec(k)), new IvParameterSpec(k)); if (charset == null || charset.trim().isEmpty()) { return new String(cipher.doFinal(data)); } return new String(cipher.doFinal(data), charset); } catch (Exception e) { return null; } }
相关文章
- [Java基础] java多线程关于消费者和生产者
- Java实现 蓝桥杯 算法提高 套正方形(暴力)
- Java 第十一届 蓝桥杯 省模拟赛 螺旋矩阵
- Java实现 LeetCode 576 出界的路径数(DFS || DP)
- Java实现 LeetCode 367 有效的完全平方数
- java实现第四届蓝桥杯猜年龄
- java实现第六届蓝桥杯灾后重建
- java实现第六届蓝桥杯无穷分数
- java实现 蓝桥杯 算法训练 安慰奶牛
- Java中Iterator 和ListIterator的区别
- (Java实现) 零件分组
- 【JAVA】java中split以"." 、""、“|”分隔字符串
- 【JAVA】java编译错误:编码UTF8/GBK的不可映射字符
- Eclipse 报 “Exception in thread "main" java.lang.OutOfMemoryError: Java heap space ”错误的解决办法
- 【Java】MyBatis与Spring框架整合(二)
- 深入理解JAVA虚拟机--Idea远程执行本地Java代码
- 【JAVA】java中split以"." 、""、“|”分隔字符串
- Java 8简明教程
- Atitit. Exception in thread "main" java.lang.Error: Unresolved compilation problem:
- Atitit. Exception in thread "main" java.lang.Error: Unresolved compilation problem:
- Linux(centOS):Exception in thread "main" java.lang.UnsupportedClassVersionError***
- 【Java】java中javaSE与javaEE的区别
- Java //PP2.16编写一个applet,画出北斗七星,并在夜空中添加一些其他的星星
- Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'jdbc.username' in string value "${jdbc.username}"
- Java开发技术之成为高级java工程师必须学习的三个技术
- Java开发篇——设计模式(5)装饰设计模式
- Caused by: java.lang.NumberFormatException: For input string: "18446744073709551615"
- java 数据库两种连接方法
- 下载各个版本java (Java Development Kit)
- 【java】Java并发编程系列-基础知识(非常详细哦)
- JAVA开发讲义(一)-Java的自白