´úÂ룺
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