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
need an explanation for this answer? contact us directly to get an explanation for this answer