Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package br.com.zeros.tipsandtricks.cryto; import java.security.Key; import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; import org.apache.commons.codec.binary.Base64; /** * * @author eros */ public class EncryptionStrings { public static final String myEncryptionKey = "$*%&|@#|-_?!"; private static final String ALGORITHM = "AES"; private static final String UNICODE_FORMAT = "UTF8"; private static Key generateKey() throws Exception { byte[] keyAsBytes; keyAsBytes = myEncryptionKey.getBytes(UNICODE_FORMAT); Key key = new SecretKeySpec(keyAsBytes, ALGORITHM); return key; } public static String encrypt(String valueToEnc) throws Exception { Key key = generateKey(); Cipher c = Cipher.getInstance(ALGORITHM); c.init(Cipher.ENCRYPT_MODE, key); byte[] encValue = c.doFinal(valueToEnc.getBytes()); String encryptedValue = new Base64().encodeToString(encValue); return encryptedValue; } public static String decrypt(String encryptedValue) throws Exception { Key key = generateKey(); Cipher c = Cipher.getInstance(ALGORITHM); c.init(Cipher.DECRYPT_MODE, key); byte[] decordedValue = new Base64().decode(encryptedValue); byte[] decValue = c.doFinal(decordedValue);//////////LINE 50 String decryptedValue = new String(decValue); return decryptedValue; } }