java对称加密(DES/DESESE/AES)的简单使用
来源:互联网 发布:电脑加密软件 编辑:程序博客网 时间:2024/05/09 17:49
主类:
/** * Created by cuboo on 2016/10/14. */public class Main { public static void main(String agrs[]) throws Exception { //String keyType = "DES"; DES的使用 //int keysize = 56; //DESede加密的使用 // String keyType = "DESede"; //int keysize = 168;//112/168 //AES的加密 String keyType = "AES"; int keysize = 128;//192/256 byte[] data = "abcdefg".getBytes(); byte[] key = DEScode.InitKey(keyType,keysize); byte[] encryptDate = DEScode.encrypt(key,keyType,data); byte[] decryptData = DEScode.decrypt(key,keyType,encryptDate); System.out.println(bytesToHexString(key)); System.out.println(bytesToHexString(encryptDate)); System.out.println(new String(decryptData)); } public static String bytesToHexString(byte[] data){ StringBuilder strb = new StringBuilder(); for (int i = 0; i < data.length; i++) { int s = data[i] & 0xff; String str = Integer.toHexString(s); if (str.length() < 2){ strb.append(0); }else { strb.append(str); } } return strb.toString(); }}
方法类:
import javax.crypto.*;import javax.crypto.spec.SecretKeySpec;import java.security.InvalidKeyException;import java.security.NoSuchAlgorithmException;/** * Created by cuboo on 2016/10/14. */public class DEScode { /* *生成秘钥 */ public static byte[] InitKey(String keyType,int keysize) throws NoSuchAlgorithmException { KeyGenerator keyGenerator = KeyGenerator.getInstance(keyType); keyGenerator.init(keysize); SecretKey secretKey = keyGenerator.generateKey(); return secretKey.getEncoded(); } /* *加密 */ public static byte[] encrypt(byte[] key,String keyType,byte[] data) throws NoSuchPaddingException, NoSuchAlgorithmException, InvalidKeyException, BadPaddingException, IllegalBlockSizeException { SecretKey secretKey = new SecretKeySpec(key,keyType); Cipher cipher = Cipher.getInstance(keyType); cipher.init(Cipher.ENCRYPT_MODE,secretKey); return cipher.doFinal(data); } /* *解密 */ public static byte[] decrypt(byte[] key,String keyType,byte[] data) throws NoSuchPaddingException, NoSuchAlgorithmException, InvalidKeyException, BadPaddingException, IllegalBlockSizeException { SecretKey secretKey = new SecretKeySpec(key,keyType); Cipher cipher = Cipher.getInstance(keyType); cipher.init(Cipher.DECRYPT_MODE,secretKey); return cipher.doFinal(data); }}
0 0
- java对称加密(DES/DESESE/AES)的简单使用
- java实现对称加密AES和DES的加密、解密
- JAVA 常用的加密算法之对称加密DES、3DES和AES
- 对称加密 des desede aes
- 使用的DES对称加密
- 使用的DES对称加密
- Android加密DES AES RSA的简单使用
- Java加密技术(二)—对称加密算法DES&AES
- Java加密技术(二)对称加密算法DES&AES
- Java加密技术(二)对称加密算法DES&AES
- Android 中对称加密算法DES,DESede,AES的加密和解密 的工具类的使用
- 对称加密----AES和DES加密解密
- 对称加密----AES和DES加密、解密
- 对称加密----AES和DES加密、解密
- 对称加密----AES和DES加密、解密
- 对称加密----AES和DES加密、解密
- 对称加密----AES和DES加密、解密
- 对称加密----AES和DES加密、解密
- 1004. Counting Leaves (30)
- oracle监听listener连接风暴
- 基于mpc体系架构的I2C体系结构(适配器与core层交互)
- 重大新闻!Mozilla 将封杀沃通和 StartSSL 一年内新签发的所有证书
- Web自定义表单工具和协同办公系统之集成(1)
- java对称加密(DES/DESESE/AES)的简单使用
- 命令行 TODO 工具中的王者
- i2c体系结构篇(dev与core层交互)
- SpringMVC表单标签简介
- 项目的build path的几个选型卡Source、Projects、Libraries、Order and Export
- 工作流系统之四十二 业务规则和业务过程
- 2017届中兴校招综合面试之软件测试工程师面试经历
- 十月英语总结
- yii2的验证码