–aes128加密
DECLAREl_src_data VARCHAR2(20) := 'Source Data';l_type pls_integer:= dbms_crypto.encrypt_aes128 + dbms_crypto.pad_pkcs5 + dbms_crypto.chain_cbc;l_key VARCHAR2(16):= '0123456789123456';l_encval raw(2000);BEGINl_encval := dbms_crypto.encrypt( src=>utl_i18n.string_to_raw(l_src_data,'AL32UTF8'), typ=>l_type, KEY=>utl_i18n.string_to_raw(l_key,'AL32UTF8'));dbms_output.put_line(l_encval);END;/SELECT RAWTOHEX(DBMS_CRYPTO.ENCRYPT(UTL_I18N.STRING_TO_RAW('Source Data','AL32UTF8'), 4358, UTL_I18N.STRING_TO_RAW('0123456789123456','AL32UTF8')))FROM dual;
–aes256加密
DECLAREl_src_data VARCHAR2(20) := 'Source Data';l_type pls_integer:= dbms_crypto.encrypt_aes256 + dbms_crypto.pad_pkcs5 + dbms_crypto.chain_cbc;l_key VARCHAR2(32):= '01234567891234560123456789123456';l_encval raw(2000);BEGINl_encval := dbms_crypto.encrypt( src=>utl_i18n.string_to_raw(l_src_data,'AL32UTF8'), typ=>l_type, KEY=>utl_i18n.string_to_raw(l_key,'AL32UTF8'));dbms_output.put_line(l_encval);END;/SELECT RAWTOHEX(DBMS_CRYPTO.ENCRYPT(UTL_I18N.STRING_TO_RAW('Source Data','AL32UTF8'), 4360, UTL_I18N.STRING_TO_RAW('01234567891234560123456789123456','AL32UTF8')))FROM dual;
–解密128
DECLAREl_src_data raw(100) := hextoraw('2644B3DAB5C617B67423F6CB7F3B91B0');l_type pls_integer := dbms_crypto.encrypt_aes128 + dbms_crypto.pad_pkcs5 + dbms_crypto.chain_cbc;l_key VARCHAR2(16) := '0123456789123456';l_decval raw(200);BEGINl_decval := dbms_crypto.decrypt(src => l_src_data, typ => l_type, KEY => utl_i18n.string_to_raw(l_key, 'AL32UTF8'));dbms_output.put_line(utl_i18n.raw_to_char(l_decval));END;/SELECT utl_i18n.raw_to_char(DBMS_CRYPTO.decrypt(hextoraw('2644B3DAB5C617B67423F6CB7F3B91B0'), 4358, UTL_I18N.STRING_TO_RAW('0123456789123456','AL32UTF8')))FROM dual;
–解密256
DECLAREl_src_data raw(100) := hextoraw('585388D3D97972B7356EAA57BE39018E');l_type pls_integer := dbms_crypto.encrypt_aes256 + dbms_crypto.pad_pkcs5 + dbms_crypto.chain_cbc;l_key VARCHAR2(32) := '01234567891234560123456789123456';l_decval raw(200);BEGINl_decval := dbms_crypto.decrypt(src => l_src_data, typ => l_type, KEY => utl_i18n.string_to_raw(l_key, 'AL32UTF8'));dbms_output.put_line(utl_i18n.raw_to_char(l_decval));END;/SELECT utl_i18n.raw_to_char(DBMS_CRYPTO.decrypt(hextoraw('585388D3D97972B7356EAA57BE39018E'), 4360, UTL_I18N.STRING_TO_RAW('01234567891234560123456789123456','AL32UTF8')))FROM dual;