The Advanced Encryption Standard (AES), also known by its original name Rijndael (Dutch pronunciation: [ˈrɛindaːl]),[5][6] is a specification for the encryption of electronic data established by the U.S. National Institute of Standards and Technology (NIST) in 2001.[7]
Below is sample java code to encrypt and decrypt a string.
Below is sample java code to encrypt and decrypt a string.
package com.kishore; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Arrays; import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; import org.apache.commons.codec.binary.Base64; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class Encrypt { protected final Logger LOGGER = LoggerFactory.getLogger(this.getClass()); public static void main(String[] args) { String encryptString = "45634634"; final String KEY = "kishore"; Encrypt obj = new Encrypt(); String encryptedString = obj.encrypt(encryptString, obj.encryptSecretKey(KEY)); System.out.println("encryptedString: "+encryptedString); String decyptedString = obj.decrypt(encryptedString, obj.encryptSecretKey(KEY)); System.out.println("decyptedString: "+decyptedString); } public SecretKeySpec encryptSecretKey(final String secretKey) { MessageDigest sha = null; SecretKeySpec encryptApiSecret = null; try { byte[] key = secretKey.getBytes("UTF-8"); sha = MessageDigest.getInstance("SHA-1"); key = sha.digest(key); key = Arrays.copyOf(key, 16); encryptApiSecret = new SecretKeySpec(key, "AES"); } catch (final NoSuchAlgorithmException e) { LOGGER.error("Exception occurred in encryptApiSecret",e); } catch (final UnsupportedEncodingException e) { LOGGER.error("Exception occurred in encryptApiSecret",e); } return encryptApiSecret; } public String decrypt(final String strToDecrypt, final SecretKeySpec secretKey) { String decryptedApiKey = ""; try { final Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5PADDING"); cipher.init(Cipher.DECRYPT_MODE, secretKey); byte[] c = Base64.decodeBase64(strToDecrypt.getBytes("UTF-8")); decryptedApiKey = new String(cipher.doFinal(c)); } catch (final Exception e) { LOGGER.error("Exception occurred in decrypt",e); } return decryptedApiKey; } public String encrypt(final String strToDecrypt, final SecretKeySpec secretKey) { String encryptedApiKey = ""; try { final Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5PADDING"); cipher.init(Cipher.ENCRYPT_MODE, secretKey); byte[] c = cipher.doFinal(strToDecrypt.getBytes()); encryptedApiKey = new String(Base64.encodeBase64(c)); } catch (final Exception e) { LOGGER.error("Exception occurred in encrypt",e); } return encryptedApiKey; } }
No comments :
Post a Comment