· 5 years ago · May 25, 2020, 10:24 AM
1package com.syntizen.aesencrypter; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; /** * @author AVINASH * */ import java.security.SecureRandom; import java.util.Base64; import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; public class AES_Encryption { static String plainText = "Avinash@syntizen.com"; public static void main(String[] args) throws Exception { /* KeyGenerator keyGenerator = KeyGenerator.getInstance("AES"); keyGenerator.init(256); // Generate Key SecretKey key = keyGenerator.generateKey(); // Generating IV. byte[] IV = new byte[16]; SecureRandom random = new SecureRandom(); random.nextBytes(IV);*/ String _key = "f379e0b661ae4650b19169e4d93665dc";//32 characters String _iv = "0000000000000000";//16 characters System.out.println("Original Text : "+plainText); byte[] cipherText = encrypt(plainText.getBytes(),_key.getBytes(), _iv.getBytes()); System.out.println("Encrypted Text : "+Base64.getEncoder().encodeToString(cipherText)); String decryptedText = decrypt(cipherText,_key.getBytes(), _iv.getBytes()); System.out.println("DeCrypted Text : "+decryptedText); } public static byte[] encrypt (byte[] plaintext,byte[] key,byte[] IV ) throws Exception { //Get Cipher Instance Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); //Create SecretKeySpec SecretKeySpec keySpec = new SecretKeySpec(key, "AES"); //Create IvParameterSpec IvParameterSpec ivSpec = new IvParameterSpec(IV); //Initialize Cipher for ENCRYPT_MODE cipher.init(Cipher.ENCRYPT_MODE, keySpec, ivSpec); //Perform Encryption byte[] cipherText = cipher.doFinal(plaintext); return cipherText; } public static String decrypt (byte[] cipherText, byte[] key,byte[] IV) throws Exception { //Get Cipher Instance Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); //Create SecretKeySpec SecretKeySpec keySpec = new SecretKeySpec(key, "AES"); //Create IvParameterSpec IvParameterSpec ivSpec = new IvParameterSpec(IV); //Initialize Cipher for DECRYPT_MODE cipher.init(Cipher.DECRYPT_MODE, keySpec, ivSpec); //Perform Decryption byte[] decryptedText = cipher.doFinal(cipherText); return new String(decryptedText); } }