level 1
弋孤秋
楼主
package des;import java.io.IOException;
import java.security.SecureRandom;import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;public class testDecrypt {
public String info( String data )
{
String key = "123qazwsx";
String dt="";
System.out.print("原文:" + data);
try {
dt = encrypt(data, key);
} catch (Exception e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
System.out.print("加密后:" + dt);
try {
System.out.print("解密后:" + decrypt(dt, key));
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} catch (Exception e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
return dt;
}
public static String encrypt(String data, String key)
throws Exception
{
byte[] bt = encrypt(data.getBytes(), key.getBytes());
String strs = new BASE64Encoder().encode(bt);
return strs;
}
public static String decrypt(String data, String key)
throws IOException, Exception
{
if (data == null)
return null;
BASE64Decoder decoder = new BASE64Decoder();
byte[] buf = decoder.decodeBuffer(data);
byte[] bt = decrypt(buf, key.getBytes());
return new String(bt);
}
private static byte[] encrypt(byte[] data, byte[] key)
throws Exception
{
SecureRandom sr = new SecureRandom();
DESKeySpec dks = new DESKeySpec(key);
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
SecretKey securekey = keyFactory.generateSecret(dks);
Cipher cipher = Cipher.getInstance("DES");
cipher.init(1, securekey, sr);
return cipher.doFinal(data);
}
private static byte[] decrypt(byte[] data, byte[] key)
throws Exception
{
SecureRandom sr = new SecureRandom();
DESKeySpec dks = new DESKeySpec(key);
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
SecretKey securekey = keyFactory.generateSecret(dks);
Cipher cipher = Cipher.getInstance("DES");
cipher.init(2, securekey, sr);
return cipher.doFinal(data);
}
public static void main(String[] args) {
testDecrypt nc = new testDecrypt();
String src="123456789";
nc.info(src);
}
}
2017年06月13日 08点06分
1
import java.security.SecureRandom;import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;public class testDecrypt {
public String info( String data )
{
String key = "123qazwsx";
String dt="";
System.out.print("原文:" + data);
try {
dt = encrypt(data, key);
} catch (Exception e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
System.out.print("加密后:" + dt);
try {
System.out.print("解密后:" + decrypt(dt, key));
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} catch (Exception e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
return dt;
}
public static String encrypt(String data, String key)
throws Exception
{
byte[] bt = encrypt(data.getBytes(), key.getBytes());
String strs = new BASE64Encoder().encode(bt);
return strs;
}
public static String decrypt(String data, String key)
throws IOException, Exception
{
if (data == null)
return null;
BASE64Decoder decoder = new BASE64Decoder();
byte[] buf = decoder.decodeBuffer(data);
byte[] bt = decrypt(buf, key.getBytes());
return new String(bt);
}
private static byte[] encrypt(byte[] data, byte[] key)
throws Exception
{
SecureRandom sr = new SecureRandom();
DESKeySpec dks = new DESKeySpec(key);
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
SecretKey securekey = keyFactory.generateSecret(dks);
Cipher cipher = Cipher.getInstance("DES");
cipher.init(1, securekey, sr);
return cipher.doFinal(data);
}
private static byte[] decrypt(byte[] data, byte[] key)
throws Exception
{
SecureRandom sr = new SecureRandom();
DESKeySpec dks = new DESKeySpec(key);
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
SecretKey securekey = keyFactory.generateSecret(dks);
Cipher cipher = Cipher.getInstance("DES");
cipher.init(2, securekey, sr);
return cipher.doFinal(data);
}
public static void main(String[] args) {
testDecrypt nc = new testDecrypt();
String src="123456789";
nc.info(src);
}
}