import java.security.Provider; import java.security.Security; import javax.crypto.Cipher; import javax.crypto.spec.DESKeySpec; import javax.crypto.spec.SecretKeySpec; /** * DES加密工具类 * * @author 宋陆 * @date 2013-10-8 * @version 1.0 */ public class DesUtil { private static final String KEY = "chuanlu"; public static String encrypt(String strDataToEncrypt) { byte[] key = KEY.getBytes(); Provider sunJCE = new com.sun.crypto.provider.SunJCE(); Security.addProvider(sunJCE); String strAlgorithm = "DES"; SecretKeySpec keySpec = null; DESKeySpec deskey = null; String strResult = ""; try { deskey = new DESKeySpec(key); keySpec = new SecretKeySpec(deskey.getKey(), "DES"); Cipher cipher = Cipher.getInstance(strAlgorithm); cipher.init(Cipher.ENCRYPT_MODE, keySpec); byte[] utf8 = strDataToEncrypt.getBytes("UTF8"); byte[] enc = cipher.doFinal(utf8); strResult = new sun.misc.BASE64Encoder().encode(enc); } catch (Exception e) { e.printStackTrace(); } return strResult; } /** * This function decrypt a given string using the DES algorithm. * * @param strDataToDecrypt * The String to decrypt * @param strKey * The generated key used to decrypt * @return The encrypted string */ public static String decrypt(String strDataToDecrypt) { byte[] key = KEY.getBytes(); Provider sunJCE = new com.sun.crypto.provider.SunJCE(); Security.addProvider(sunJCE); String strAlgorithm = "DES"; SecretKeySpec keySpec = null; DESKeySpec deskey = null; String strResult = ""; try { deskey = new DESKeySpec(key); keySpec = new SecretKeySpec(deskey.getKey(), "DES"); Cipher cipher = Cipher.getInstance(strAlgorithm); cipher.init(Cipher.DECRYPT_MODE, keySpec); byte[] dec = new sun.misc.BASE64Decoder().decodeBuffer(strDataToDecrypt); byte[] utf8 = cipher.doFinal(dec); return new String(utf8, "UTF8"); } catch (Exception e) { e.printStackTrace(); } return strResult; } }
相关推荐
des加密工具类,des加密工具类,des加密工具类,des加密工具类,des加密工具类,
3des加密工具类
des是java开发中比较常见的加密方式,多用于加密要求不是很严格的地方,...将加密方式封装成一个工具类,便于使用,可指定密钥或使用默认密钥,可指定字符或使用默认字符,用法简单灵活,全文中文注释,易于读和修改。
3DES加密解密的全工具类,快速帮助新人进行3Des加密解密
对数据进行3DES加密或者解密,如果密码长度为8字节则为DES加密或者解密
vue DES加密解密工具类 des.js,与博文中的匹配,为封装好的完整工具类
Des加密工具.zip
对数据进行单DES或者3DES加密或者解密,如果密码长度为8字节则为DES加密或者解密
主要介绍了Java实现的3des加密解密工具类,结合完整实例形式分析了3des加密解密的具体步骤与相关操作技巧,需要的朋友可以参考下
DES加密解密工具类及使用DEMO,可以用于用户信息传输过程加密等
des加密解密工具
java 3des加密、解密工具类 java的3DES加密/解密
DES加密解密工具DES加密解密工具DES加密解密工具DES加密解密工具DES加密解密工具DES加密解密工具DES加密解密工具DES加密解密工具DES加密解密工具
用C++制作的DES加密工具,分享一下 用C++制作的DES加密工具,分享一下
单DES 双DES加密工具
常用对称加密(AES/DES/3DES)及非对称加密(RSA)工具类
一个包含MD5.DES3,DES,AES,BASE64,SHA等常见的7种加密算法,可以直接下载集成到项目里面
DES加密工具,加密解密指定字符串,密钥在代码中已提前配置好,有需要的修改的可以直接更换成自己的密钥。
DES加密解密工具
工具类-DES对称加密工具类,自用留存