Java DES 加密 解密 示例
2013-12-12 14:42
483 查看
代码:
运行结果:
密 钥:12345678
加密前:DESTest
加密后:��d��{�
解密后:DESTest
package com.techzero.des; import java.security.SecureRandom; import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.DESKeySpec; /** * DESTest.java * * @author Techzero * @Email techzero@163.com * @Time 2013-12-12 下午2:22:58 */ public class DESTest { /** * @param args */ public static void main(String[] args) { String content = "DESTest"; // 密码长度必须是8的倍数 String password = "12345678"; System.out.println("密 钥:" + password); System.out.println("加密前:" + content); byte[] result = encrypt(content, password); System.out.println("加密后:" + new String(result)); String decryResult = decrypt(result, password); System.out.println("解密后:" + decryResult); } /** * 加密 * * @param content * 待加密内容 * @param key * 加密的密钥 * @return */ public static byte[] encrypt(String content, String key) { try { SecureRandom random = new SecureRandom(); DESKeySpec desKey = new DESKeySpec(key.getBytes()); SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES"); SecretKey securekey = keyFactory.generateSecret(desKey); Cipher cipher = Cipher.getInstance("DES"); cipher.init(Cipher.ENCRYPT_MODE, securekey, random); byte[] result = cipher.doFinal(content.getBytes()); return result; } catch (Throwable e) { e.printStackTrace(); } return null; } /** * 解密 * * @param content * 待解密内容 * @param key * 解密的密钥 * @return */ public static String decrypt(byte[] content, String key) { try { SecureRandom random = new SecureRandom(); DESKeySpec desKey = new DESKeySpec(key.getBytes()); SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES"); SecretKey securekey = keyFactory.generateSecret(desKey); Cipher cipher = Cipher.getInstance("DES"); cipher.init(Cipher.DECRYPT_MODE, securekey, random); byte[] result = cipher.doFinal(content); return new String(result); } catch (Throwable e) { e.printStackTrace(); } return null; } }
运行结果:
密 钥:12345678
加密前:DESTest
加密后:��d��{�
解密后:DESTest
相关文章推荐
- 【数据加密】Java中3DES加密解密调用示例
- Java_DES 加密和解密源码
- Java 加密解密之对称加密算法DES
- Java实现的RSA加密解密算法示例
- 基于Java Bouncy Castle的PGP加密解密示例
- C#使用DES和AES实现加密解密功能示例
- Java加密解密快速入门上篇【包括MD5、BASE64、DES、RSA等算法】
- 加密解密算法java实现(2)—DES
- Java中3DES加密解密调用示例
- Java DES 加密和解密源码(转)
- js前台加密 java后台解密(des)
- 用 Java 解密 C# 加密的数据(DES)
- [J2SE]Java中3DES加密解密调用示例
- java基于AES对称加密算法实现的加密与解密功能示例
- Java DES 加密和解密源码
- Java AES 加密 解密 示例
- Java加密/解密算法快速入门上篇[包括MD5、BASE64、DES、RSA等]
- JAVA_DES 加密 解密 生成随机密钥
- 加密解密算法java实现(2)—DES
- 加密解密工具类(Java,DES)