Я пытаюсь перенести функцию Oracle на Postgres. Назначение этой функции - шифрование данных с использованием алгоритма AES-256. Поскольку я не являюсь экспертом ни в Oracle, ни в криптографии, я буду очень признателен за любую возможную помощь. Цель состоит в том, чтобы получить одинаковые зашифрованные результаты как в Oracle, так и Postgres, используя одни и те же данные и ключ.
Функция Oracle равна
function encrypt(data varchar2, key raw) return raw as
begin
return dbms_crypto.encrypt(
utl_i18n.string_to_raw(data, 'AL32UTF8'),
dbms_crypto.ENCRYPT_AES256
+ dbms_crypto.CHAIN_CBC
+ dbms_crypto.PAD_PKCS5,
key
);
end;