AES加解密過程
阿新 • • 發佈:2018-06-26
secret keys nco vat 過程 encode string exception init
1 package com.pff.pff; 2 3 import java.security.SecureRandom; 4 5 import javax.crypto.Cipher; 6 import javax.crypto.KeyGenerator; 7 import javax.crypto.SecretKey; 8 import javax.crypto.spec.SecretKeySpec; 9 10 import org.apache.commons.codec.binary.Hex; 11 12 public class Aes { 13 14 privatestatic String test = "pff"; 15 16 public static void main(String[] args) { 17 testDes(); 18 } 19 20 public static void testDes() { 21 try { 22 // 生成秘鑰 23 KeyGenerator keyGenerator = KeyGenerator.getInstance("AES"); 24 keyGenerator.init(newSecureRandom()); 25 SecretKey generateKey = keyGenerator.generateKey(); 26 byte[] encoded = generateKey.getEncoded(); 27 // 秘鑰轉換 28 SecretKeySpec secretKeySpec = new SecretKeySpec(encoded, "AES"); 29 // DES加密過程 30 Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5padding");31 cipher.init(Cipher.ENCRYPT_MODE, secretKeySpec); 32 byte[] result = cipher.doFinal(test.getBytes()); 33 System.out.println("AES加密過程結果= " + Hex.encodeHexString(result)); 34 // 解密過程 35 cipher.init(Cipher.DECRYPT_MODE, secretKeySpec); 36 byte[] result2 = cipher.doFinal(result); 37 System.out.println("AES解密過程結果= " + new String(result2)); 38 } catch (Exception e) { 39 e.printStackTrace(); 40 } 41 } 42 }
AES加解密過程