public String decrypt ( String data ) { Objects . requireNonNull ( data , "Data to be decrypted" ) ; if ( ! secretKeySpec . isPresent ( ) ) { return data ; } // convert base64 encoded string to bytes byte [ ] decoded = Base64 . decodeBase64 ( data ) ; try { // decrypt bytes Cipher cipher = Cipher . getInstance ( ALGORITHM ) ; cipher . init ( Cipher . DECRYPT_MODE , secretKeySpec . get ( ) ) ; byte [ ] decrypted = cipher . doFinal ( decoded ) ; // convert bytes to string return new String ( decrypted , StandardCharsets . UTF_8 ) ; } catch ( InvalidKeyException ex ) { logger . error ( getHelperLogMessage ( ) , ex ) ; throw new RuntimeException ( ex ) ; } catch ( GeneralSecurityException ex ) { logger . error ( "Failed to decrypt data." , ex ) ; return "" ; } }
Decrypts data with secret key .