我是靠谱客的博主 微笑花瓣,最近开发中收集的这篇文章主要介绍Des加密解密工具类,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

import java.security.Key;
import javax.crypto.Cipher;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESedeKeySpec;
import javax.crypto.spec.IvParameterSpec;

/*
 * 文件名:DesUtil
 * 描    述:Des加密解密工具类
 */
public class DesUtil {
	// 向量
	private final static String iv = "01234567";
	// 加解密统一使用的编码方式
	private final static String encoding = "utf-8";

	/*
	 * 方法名:encode(String plainText) 功 能:对字符串进行DES加密 参 数:String plainText -
	 * 待加密字符串 返回值:加密后字符串
	 */
	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);
	}

	/*
	 * 方法名:decode(String plainText) 功 能:对字符串进行DES解密 参 数:String plainText -
	 * 待解密字符串 返回值:解密后字符串
	 */
	public static String decode(String encryptText, String secretKey)
			throws Exception {

		// 增加加密文本 如果有空格 替换为 +
		encryptText = encryptText.replace(" ", "+");
		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);
	}
}

 

转载于:https://my.oschina.net/xf1025/blog/856695

最后

以上就是微笑花瓣为你收集整理的Des加密解密工具类的全部内容,希望文章能够帮你解决Des加密解密工具类所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部