import java.security.SecureRandom;
import java.util.Map;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
import org.hibernate.cfg.CreateKeySecondPass;
import org.jeecgframework.core.util.DateUtils;
import org.jeecgframework.core.util.JSONHelper;
import org.jeecgframework.core.util.StringUtil;
import motorsubsidy.web.entity.ApplyInfoEntity;
public class DesUtil {
// 密钥,是加密解密的凭据,长度为8的倍数
private static final String PASSWORD_CRYPT_KEY = "D39970C3";
private final static String DES = "DES";
/**
* 加密
* @param src 数据源
* @param key 密钥,长度必须是8的倍数
* @return 返回加密后的数据
* @throws Exception
*/
public static byte[] encrypt(byte[] src, byte[] key) throws Exception {
// DES算法要求有一个可信任的随机数源
SecureRandom sr = new SecureRandom();
// 从原始密匙数据创建DESKeySpec对象
DESKeySpec dks = new DESKeySpec(key);
// 创建一个密匙工厂,然后用它把DESKeySpec转换成
// 一个SecretKey对象
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(DES);
SecretKey securekey = keyFactory.generateSecret(dks);
// Cipher对象实际完成加密操作
Cipher cipher = Cipher.getInstance(DES);
// 用密匙初始化Cipher对象
cipher.init(Cipher.ENCRYPT_MODE, securekey, sr);
&
DES加密,设定秘钥加密,并依据秘钥解密
最新推荐文章于 2025-10-31 10:45:00 发布
本文深入探讨了DES加密算法,详细介绍了如何设置加密密钥以及如何使用该密钥进行数据加密和解密的过程。通过实例解析,帮助读者掌握DES在信息安全中的应用。

最低0.47元/天 解锁文章
770

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



