I am encryption and decryption using following code, while decryption I am getting a error while running. error message is 'Illegal base64 character 20'
Encryption code:
String secretValue = "sazhwsxplokmeroo";
keyValue = secretValue.getBytes();
Key generatedKey = generateKey();
Cipher c = Cipher.getInstance(ALGO);
c.init(Cipher.ENCRYPT_MODE, generatedKey);
byte[] encValue = c.doFinal(userEmail.getBytes());
String encryptedValue = Base64.getEncoder().encodeToString(encValue);
secretKey:
private Key generateKey() {
Key secretKey = new SecretKeySpec(keyValue, ALGO);
return secretKey;
}
Decryption code:
String secretValue = "sazhwsxplokmeroo";
keyValue = secretValue.getBytes();
Key generatedKey = generateKey();
Cipher c = Cipher.getInstance(ALGO);
c.init(Cipher.DECRYPT_MODE, generatedKey);
byte[] decodedValue = Base64.getDecoder().decode(encryptEmail.getBytes()); //error throws from this line as illegal base64 character 20
byte[] decValue = c.doFinal(decodedValue);
String decryptedValue = decValue.toString();
how can I decrypt the encrypted value without error
encrypted value = 3aW0qv4pN+y3Tj8raXDHtos95ChpLu2JzEnfW+KfgEE=
this value appears in the spring controller as = 3aW0qv4pN y3Tj8raXDHtos95ChpLu2JzEnfW KfgEE=
it shows two spaces "+" get converted to "(space)"
Now I have changed my secret key as 'sa278asabmnbmnbm'
I am getting encrypt value as 40SRNEe9PgaxEeprPyqlyeP08hBHq00Ow9WWBgP6ZTM=
While decrypt I am getting [B@75141845 as decrypted Value
expected : shamith@alraislabs.in