· 7 years ago · Dec 20, 2018, 03:34 AM
1private String decrypt(String encryptedText, String secretKey) throws MerchantGatewayException {
2 LOGGER.debug("TEXT TO BE DECRYPTED : " + encryptedText);
3 LOGGER.debug("PRIVATE KEY : " + secretKey);
4 try {
5 DESedeKeySpec keyspec = new DESedeKeySpec(getHexByteArray(secretKey));
6 SecretKeyFactory keyfactory = SecretKeyFactory.getInstance("DESede");
7 SecretKey key = keyfactory.generateSecret(keyspec);
8
9 Cipher decipher = Cipher.getInstance("DESede/ECB/noPadding");
10 decipher.init(Cipher.DECRYPT_MODE, key);
11
12 byte[] plainText = decipher.doFinal(getHexByteArray(encryptedText));
13
14 return getHexString(plainText);
15 } catch (Exception ex) {
16 LOGGER.error("[ERROR DECRYPTING DATA ] : " + ex.getMessage(), ex);
17 throw new MerchantGatewayException("[ERROR DECRYPTING DATA ] : " + ex.getMessage());
18 }
19 }