java对称加密(DES/DESESE/AES)的简单使用
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                java对称加密(DES/DESESE/AES)的简单使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                主類:
/*** 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/256byte[] 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);} }
總結
以上是生活随笔為你收集整理的java对称加密(DES/DESESE/AES)的简单使用的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: PLS-00103: 出现符号 在需要下
 - 下一篇: 数仓工具—Hive语法之窗口函数firs