加密:
解密:
// 创建SHA1散列对象
MessageDigest md = MessageDigest.getInstance("SHA1");
// 散列密钥
md.update(password.getBytes());
// 获得DES密钥
DESKeySpec dks = new DESKeySpec(md.digest());
// 获得DES加密密钥工厂
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
// 生成加密密钥
SecretKey key = keyFactory.generateSecret(dks);
// 创建初始化向量对象
IvParameterSpec iv = new IvParameterSpec(Decrypt.IV_8);
AlgorithmParameterSpec paramSpec = iv;
Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding", "BC");
cipher.init(Cipher.ENCRYPT_MODE, key, paramSpec);
byte[] res = cipher.doFinal(srcMessage.getBytes());
解密:
// 创建SHA1散列对象
MessageDigest md = MessageDigest.getInstance("SHA1");
// 散列密钥
md.update(password.getBytes());
// 获得DES密钥
DESKeySpec dks = new DESKeySpec(md.digest());
// 获得DES加密密钥工厂
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
// 生成加密密钥
SecretKey key = keyFactory.generateSecret(dks);
// 创建初始化向量对象
IvParameterSpec iv = new IvParameterSpec(Decrypt.IV_8);
AlgorithmParameterSpec paramSpec = iv;
//PBEParameterSpec pbeSpec = new PBEParameterSpec(IV_8,1);
Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding", "BC");
cipher.init(Cipher.DECRYPT_MODE, key, paramSpec);
byte[] res = cipher.doFinal(Base64.decode(encMessage.getBytes()));