import java.security.SecureRandom;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
/**
* DES加解密工具类
*
* @Author:zkx
* @date:2019年8月20日 下午4:19:00
*/
class DESUtils {
/**
* 默认key
*/
protected final static String KEY = "ScAKC0XhadTHT3Al0QIDAQAB";
/**
* DES加密
*
* @param data 待加密字符串
* @param key 校验位
* @return
*/
//@SuppressWarnings("restriction")
protected static String encrypt(String data, String key) {
String encryptedData = null;
try {
// DES算法要求有一个可信任的随机数源
SecureRandom sr = new SecureRandom();
DESKeySpec deskey = new DESKeySpec(key.getBytes());
// 创建一个密匙工厂,然后用它把DESKeySpec转换成一个SecretKey对象
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
SecretKey secretKey = keyFactory.generateSecret(deskey);
// 加密对象
Cipher cipher = Cipher.getInstance("DES");
cipher.init(Cipher.ENCRYPT_MODE, secretKey, sr);
// 加密,并把字节数组编码成字符串
encryptedData = new sun.misc.BASE64Encoder().encode(cipher.doFinal(data.getBytes()));
} catch (Exception e) {
throw new RuntimeException("加密错误,错误信息:", e);
}
return encryptedData;
}
/**
* DES解密
*
* @param cryptData 待解密密文
* @param key 校验位
* @return
*/
//@SuppressWarnings("restriction")
protected static String decrypt(String cryptData, String key) {
String decryptedData = null;
try {
// DES算法要求有一个可信任的随机数源
SecureRandom sr = new SecureRandom();
DESKeySpec deskey = new DESKeySpec(key.getBytes());
// 创建一个密匙工厂,然后用它把DESKeySpec转换成一个SecretKey对象
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
SecretKey secretKey = keyFactory.generateSecret(deskey);
// 解密对象
Cipher cipher = Cipher.getInstance("DES");
cipher.init(Cipher.DECRYPT_MODE, secretKey, sr);
// 把字符串解码为字节数组,并解密
decryptedData = new String(cipher.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(cryptData)));
} catch (Exception e) {
throw new RuntimeException("解密错误,错误信息:", e);
}
return decryptedData;
}
}
相关推荐
web端 DES加密
web端 js文件,后台java文件 采用des加密,验证通过。可以直接拿走。
Java 加解密工具类
一、对称加密算法DES、3DES、AES、DESX、Blowfish、RC4、RC5、RC6。 二、非对称加密算法 RSA、DSA、ECC、Diffie-Hellman、El Gamal。 三、散列算法MD2、MD4、MD5、HAVAL、SHA、SHA-1、HMAC、HMAC-MD5、HMAC-SHA1。
Java实现的DES加密解密工具类实例
主要介绍了Java实现的DES加密解密工具类,结合具体实例形式分析了Java实现的DES加密解密工具类定义与使用方法,需要的朋友可以参考下
如何实现 DES 加密,解密(uniapp/vue) + Java)
DES是一种对称性的密钥加密块算法,通过16轮的加密/解密,形成加密文档。因为加密和解密使用的是同一个密钥,所以在使用时要保证前后端密钥统一。本文中要进行的是微信公众平台开发中的支付环境下验证用户绑定信息,为了确保用户信息不泄露,将用户信息在前端通过DES密钥算法加密,并传输给后端通过同一个密钥实现解密。本文中附带了uniapp中的des加密,解密和Java中的加密,解密代码,请放心食用。
java常用工具类之DES和Base64加密解密类
主要介绍了java常用工具类之DES和Base64加密解密类,需要的朋友可以参考下
利用ArcMap实现遥感图像语义分割标注的完整流程解析
本文详细解析了利用ArcMap进行遥感图像语义分割标注的完整工作流。从工程创建、数据导入、SHP文件创建,到实战勾画地物、要素转栅格,再到最终的裁剪对齐,提供了每一步的关键操作与避坑指南。该方法特别适合处理大尺寸、带地理坐标的遥感影像,能高效产出精准对齐的图像-标签对,为后续深度学习模型训练奠定可靠的数据基础。
SSM实现mysql数据库账号密码加密连接
创建DesUtil类 public class DesUtil { /** 字符串默认键值 */ private static String strDefaultKey = "mykey"; /** 加密工具 */ private Cipher encryptCipher = null; /** 解密工具 */ private Cipher decryptCipher = null; /** * 暗号化 明文入力String 密文出力 * * @param strMing.
Shopee商品详情页反爬实战:手把手逆向x-sap-Ri和x-sap-Sec参数(附完整调试过程)
本文详细解析了Shopee商品详情页反爬机制中的x-sap-Ri和x-sap-Sec参数逆向过程。通过JS逆向技术,从环境数据采集到多层哈希运算,完整拆解了这两个关键参数的生成逻辑,并提供了实战技巧和Node.js实现方案,帮助开发者应对Shopee的动态加密挑战。
Java DES加密解密数据 工具类
public class DesUtils { //DES加密和解密过程中,密钥长度都必须是8的倍数 private static final String PASSWORD = "abcdefghijklmnopqrstuvwx"; private static final String CHARSET = "UTF-8"; /** * ...
zabbix添加IBM服务器SNMPV3监控
本地采用欧冠的是zabbix5.0,服务器型号是SR860,使用snmpv3因为只支持这个,醉了。说明:本地采用欧冠的是zabbix5.0,服务器型号是SR860。
DESeq2实战:利用LRT检验解析时间序列基因表达动态变化
本文详细介绍了如何使用DESeq2中的LRT检验分析时间序列基因表达数据,揭示基因表达动态变化模式。通过构建完整模型与简化模型比较,LRT检验能有效识别处理效应随时间变化的基因,适用于发育过程、疾病进展等研究。文章提供了从数据准备、模型构建到结果可视化的完整实战指南,并分享了高级技巧与常见问题排查方法。
Java 加解密工具类(AES,DES,DES3)
Java加解密工具类
配电网可靠性评估(一)—最小路法和非序贯蒙特卡洛模拟法的matlab实现
电力系统的可靠性研究是相关领域的热点问题。根据研究对象的不同,又可分为发电系统的可靠性,输电系统的可靠性和配电系统的可靠性。配电网在电力系统中处于最末端的位置,直接和用户相连,一旦出现故障情况,就会在用户侧表现为停电事故。因此对配电网的可靠性评估有着重大意义。......
使用DES算法的加解密Java工具类-字符串加解密
今天项目需要对明文进行加解密,我们准备采用DES算法,网上找到一些写好的工具类,但校验不足且存在一些问题。 然后经过调整和修改,把最终的基于DES算法的加解密Java工具类贴在此处,有需要的同学请使用: (注意,需依赖apache的commons相关包,请自行导入) import javax.crypto.*; import javax.crypto.spec.DESKeySpec; import java.security.SecureRandom; import org.apache.comm
ansys license许可证问题:Ansys License Manager Release 2024 R1...如何解决?
🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。
这种绑定设备的文件拷贝出来了,怎么放到一台新的P100上使用
🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up! 备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。
JAVA DES加解密工具类
import javax.crypto.Cipher; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.DESKeySpec; import javax.crypto.spec.IvParameterSpec; import java.security.Key; import java.util.Base64; public class DESUtil { //偏移变量,固定占8位字节 private fina.
SAP ABAP 实用小技巧合集 (一)
本合集包含了笔者从事 ABAP 开发 17 年以来积累的小技巧。持续更新。
java DES 加解密 工具类
package com.example.demo; import org.apache.commons.io.IOUtils; import org.apache.tomcat.util.codec.binary.Base64; import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.Secr...
复分析 阿尔福斯(Ahlfors) 第三版答案 英文
答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案
汉书HE8,好用的汇编代码编写工具
汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大
常用java使用工具类EncrypDES,实现DES算法的加解密
前言 DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键数据的保密,如信用卡持卡人的PIN的加密传输,IC卡与POS间的双向认证、金融交易数据包的MAC校验等,均用到DES算法。 DES算法的原理 1.所需参数 key:8个字节共64位的工作密钥 data:8个字节共64位的需要被加密或被解密的数据 mode:DES工作方式,加密或者解密 2.原理图示 DES算法使用64位的密钥key,将64位的明文输入块,变为64位的密文输出块,并把输
迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)
迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)
【Java工具类】对称加密之整合AES、DES算法加解密工具类
对称加密算法只是为了区分非对称加密算法。特点就是加密是加密解密使用相同的密钥,而非对称加密加密和解密时使用的密钥不一样。 对称加密的密钥交换时可以使用非对称加密,这有效保护密钥的安全。 非对称加密加密和解密密钥不同,安全性高,但加解密的速度很慢,不适合对大数据加密。而对称加密加密速度快,因此混合使用最好。 常用的对称加密算法有:AES和DES. DES:比较老的算法,一共有三个参数入口(原文,密钥,加密模式)。而3DES只是DES的一种模式,是以DES为基础更安全的变形,对数据进行了三次加密,也.
大中型超市收银系统(可直接运行)
光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开
Java DES 加解密字符串、文件 工具类通用
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.security.Key; imp
Java DES加解密
DES加解密工具类: package com.prison.util; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.security.spec.InvalidKeySpecException; import javax.crypto....
Java各种方式加解密工具类
JAVA能够实现各种加解密方式,这里对各种加密方式做了封装,包括AES、DES、BCrypt、MD5、SHA、RSA、SM3、SM4、Http Basic等。ASE为对称加密。工具类: 单元测试: 2.DES DES为对称加密工具类: 单元测试: 3、BCrypt BCrpty为单向加密 工具类: 单元测试: 4、Http Basic 工具类: 5、MD5 MD5为单向加密 引入依赖(MAVEN): 引入依赖(gradle): 工具类: 单元测试: 6、RSA RSA为非对称加密 工具类: 单元测试: 7、
JAVA工具类-DES加密解密
import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.DESKeySpec; import j...
加/解密工具包
2019独角兽企业重金招聘Python工程师标准>>> ...
4571



被折叠的 条评论
为什么被折叠?



