This java program will read a string and encrypt the input string using AES 128 bits Encryption Algorithm, and also decrypt the Encrypted string using the same method.
package com.includehelp.stringsample; import java.util.Base64; import java.util.Scanner; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; /** * Program to Encrypt/Decrypt String Using AES 128 bit Encryption Algorithm */ public class EncryptDecryptString { private static final String encryptionKey = "ABCDEFGHIJKLMNOP"; private static final String characterEncoding = "UTF-8"; private static final String cipherTransformation = "AES/CBC/PKCS5PADDING"; private static final String aesEncryptionAlgorithem = "AES"; /** * Method for Encrypt Plain String Data * @param plainText * @return encryptedText */ public static String encrypt(String plainText) { String encryptedText = ""; try { Cipher cipher = Cipher.getInstance(cipherTransformation); byte[] key = encryptionKey.getBytes(characterEncoding); SecretKeySpec secretKey = new SecretKeySpec(key, aesEncryptionAlgorithem); IvParameterSpec ivparameterspec = new IvParameterSpec(key); cipher.init(Cipher.ENCRYPT_MODE, secretKey, ivparameterspec); byte[] cipherText = cipher.doFinal(plainText.getBytes("UTF8")); Base64.Encoder encoder = Base64.getEncoder(); encryptedText = encoder.encodeToString(cipherText); } catch (Exception E) { System.err.println("Encrypt Exception : "+E.getMessage()); } return encryptedText; } /** * Method For Get encryptedText and Decrypted provided String * @param encryptedText * @return decryptedText */ public static String decrypt(String encryptedText) { String decryptedText = ""; try { Cipher cipher = Cipher.getInstance(cipherTransformation); byte[] key = encryptionKey.getBytes(characterEncoding); SecretKeySpec secretKey = new SecretKeySpec(key, aesEncryptionAlgorithem); IvParameterSpec ivparameterspec = new IvParameterSpec(key); cipher.init(Cipher.DECRYPT_MODE, secretKey, ivparameterspec); Base64.Decoder decoder = Base64.getDecoder(); byte[] cipherText = decoder.decode(encryptedText.getBytes("UTF8")); decryptedText = new String(cipher.doFinal(cipherText), "UTF-8"); } catch (Exception E) { System.err.println("decrypt Exception : "+E.getMessage()); } return decryptedText; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter String : "); String plainString = sc.nextLine(); String encyptStr = encrypt(plainString); String decryptStr = decrypt(encyptStr); System.out.println("Plain String : "+plainString); System.out.println("Encrypt String : "+encyptStr); System.out.println("Decrypt String : "+decryptStr); } }
Output
Enter String : Hello World Plain String : Hello World Encrypt String : IMfL/ifkuvkZwG/v2bn6Bw== Decrypt String : Hello World
total answers (1)
start bookmarking useful questions and collections and save it into your own study-lists, login now to start creating your own collections.
This java program will read a string and encrypt the input string using AES 128 bits Encryption Algorithm, and also decrypt the Encrypted string using the same method.
Output