1 package com.freemindcafe.security.sample2;
3 import java.net.URLDecoder;
4 import java.security.Provider;
6 import javax.crypto.Cipher;
7 import javax.crypto.SecretKey;
9 import org.
apache.commons.codec.binary.Base64;
13 static Logger logger = Logger.getLogger(
Decryption.class );
17 public static String decrypt( String value, String keyStorePath, String keyStoreType, String keyStorePassword, String keyAlias )
throws Exception {
19 Provider securityProvider = null;
20 sKey =
EncryptionUtil.readKeyFromKeystore(keyStorePath, keyStoreType, keyStorePassword, keyAlias);
21 securityProvider =
EncryptionUtil.getSupportingSecurityProvider(keyStoreType);
22 return decrypt(value, sKey, securityProvider);
25 public static String decrypt(String encryptedText, SecretKey key, Provider securityProvider)
throws Exception {
26 Cipher cipher = Cipher.getInstance(
"AES/ECB/PKCS5Padding", securityProvider);
27 cipher.init(Cipher.DECRYPT_MODE, key);
28 String urlDecodedString = URLDecoder.decode(encryptedText,
"UTF8");
29 byte[] decodedValue = Base64.decodeBase64(urlDecodedString.getBytes());
30 byte[] decryptedValue = cipher.doFinal(decodedValue);
31 String decryptedString =
new String(decryptedValue);
32 return decryptedString;