Would like to get the encrypted value in base64 encode and decrypt the base64 value
Nnt getting the correct value using the below code
KEY : AES-128
Sample Code : Without base64 code
DECLARE
l_test VARCHAR2(19) := 'test@test.com';
l_ccn_raw RAW(2000) := utl_raw.cast_to_raw(l_test);
l_key RAW(128) := utl_raw.cast_to_raw('D4DB00502466F52FEE2E3B2316DE8B95');
l_encryption_type PLS_INTEGER:=DBMS_CRYPTO.ENCRYPT_AES
+ DBMS_CRYPTO.CHAIN_ECB
+ DBMS_CRYPTO.PAD_PKCS5;
l_encrypted_raw RAW(2048);
l_decrypted_raw RAW(2048);
BEGIN
dbms_output.put_line('Original : ' || l_test);
l_encrypted_raw := dbms_crypto.encrypt(l_ccn_raw, l_encryption_type, l_key);
dbms_output.put_line('Encrypted : ' || RAWTOHEX(utl_raw.cast_to_raw(l_encrypted_raw)));
l_decrypted_raw := dbms_crypto.decrypt(src => l_encrypted_raw,
typ => l_encryption_type, key => l_key);
dbms_output.put_line('Decrypted : ' || utl_raw.cast_to_varchar2(l_decrypted_raw));
END;
Output :
---------------------
Original : test@test.com
Encrypted : 3433373138374637363336354531463030383432433243364246373742313331
Decrypted : test@test.com
------------------------------------------------------------------------------------------------------------------------------------
Base64 Encode - Not getting correct encryption and decryption
DECLARE
L_test VARCHAR2(2000) := 'test@test.com';
L_CCN_RAW RAW(128) := UTL_ENCODE.BASE64_ENCODE(UTL_RAW.CAST_TO_RAW(L_test));
L_KEY RAW(128) := UTL_RAW.CAST_TO_RAW('D4DB00502466F52FEE2E3B2316DE8B95');
L_ENCRYPTION_TYPE PLS_INTEGER:=DBMS_CRYPTO.ENCRYPT_AES
+ DBMS_CRYPTO.CHAIN_ECB
+ DBMS_CRYPTO.PAD_PKCS5;
L_ENCRYPTED_RAW RAW(2048);
L_DECRYPTED_RAW RAW(2048);
BEGIN
DBMS_OUTPUT.PUT_LINE('ORIGINAL : ' || L_test);
DBMS_OUTPUT.PUT_LINE('After Encoded : ' || L_ccn_Raw);
L_ENCRYPTED_RAW := DBMS_CRYPTO.ENCRYPT(L_CCN_RAW, L_ENCRYPTION_TYPE, L_KEY);
DBMS_OUTPUT.PUT_LINE('ENCRYPTED : ' ||L_ENCRYPTED_RAW);
L_DECRYPTED_RAW := DBMS_CRYPTO.DECRYPT(SRC => L_ENCRYPTED_RAW, TYP => L_ENCRYPTION_TYPE, KEY => L_KEY);
DBMS_OUTPUT.PUT_LINE('DECRYPTED : ' || UTL_ENCODE.BASE64_DECODE(L_DECRYPTED_RAW));
END;
----------------------------------------------------------------------------
Output :
ORIGINAL : test@test.com
After Encoded : 6447567A644542305A584E304C6D4E7662513D3D
ENCRYPTED : 4709924C744F29402F5A1D63D45C6FC527A81D7BDA77C7529F8E0DA7E3500205
DECRYPTED : 7465737440746573742E636F6D
Please suggest?