Java DES工具类

来源:互联网 发布:php 面试 编辑:程序博客网 时间:2024/06/05 12:03

转载前请注明链接:http://blog.csdn.net/daiwei714/article/details/44060341


日前,自己项目中要用到DES类型的加密解密,故把代码贴出来供广大博友和自己使用。

代码走起:


/** * DES工具类 */public class DES3 {// 密钥private final static String secretKey = "mimajiabujiadouyiyang@dt";// 向量private final static String iv = "12345678";// 加解密统一使用的编码方式private final static String encoding = "UTF-8";/** * 3DES加密 * @param plainText 普通文本 * @return * @throws Exception */public static String encode(String plainText) throws Exception {return encode(plainText,secretKey);}public static String encode(String plainText,String secretKey) throws Exception {Key deskey = null;DESedeKeySpec spec = new DESedeKeySpec(secretKey.getBytes());SecretKeyFactory keyfactory = SecretKeyFactory.getInstance("desede");deskey = keyfactory.generateSecret(spec);Cipher cipher = Cipher.getInstance("desede/CBC/PKCS5Padding");IvParameterSpec ips = new IvParameterSpec(iv.getBytes());cipher.init(Cipher.ENCRYPT_MODE, deskey, ips);byte[] encryptData = cipher.doFinal(plainText.getBytes(encoding));return Base64.encode(encryptData);}/** * 3DES解密 * @param encryptText 加密文本 * @return * @throws Exception */public static String decode(String plainText) throws Exception {return decode(plainText,secretKey);}public static String decode(String encryptText,String secretKey) throws Exception {Key deskey = null;DESedeKeySpec spec = new DESedeKeySpec(secretKey.getBytes());SecretKeyFactory keyfactory = SecretKeyFactory.getInstance("desede");deskey = keyfactory.generateSecret(spec);Cipher cipher = Cipher.getInstance("desede/CBC/PKCS5Padding");IvParameterSpec ips = new IvParameterSpec(iv.getBytes());cipher.init(Cipher.DECRYPT_MODE, deskey, ips);byte[] decryptData = cipher.doFinal(Base64.decode(encryptText));return new String(decryptData, encoding);}}


0 0