► Продолжаем рассказывать о встроенных пакетах Digital Q.DataBase, обеспечивающих совме...
► Продолжаем рассказывать о встроенных пакетах Digital Q.DataBase, обеспечивающих совместимость с PL/SQL-окружением Oracle. Мы поддержали пакет DBMS_CRYPTO. Для чего он нужен ► Пакет DBMS_CRYPTO предоставляет функции для шифрования, дешифрования и хэширования данных. В Oracle он пришёл на смену DBMS_OBFUSCATION_TOOLKIT и содержит более широкий набор криптографических алгоритмов. Основные возможности · ENCRYPT / DECRYPT — шифрование и дешифрование данных (RAW, BLOB, CLOB); · HASH — вычисление хэш-значений (MD5, SHA-1, SHA-2); · MAC — хэширование с секретным ключом для проверки подлинности; · RANDOMBYTES — генерация криптографически стойкой случайной последовательности. Пример использования -- Шифрование и дешифрование строки DECLARE l_src RAW(128) := UTL_RAW.cast_to_raw('Секретные данные'); l_key RAW(128) := UTL_RAW.cast_to_raw('0123456789abcdef'); l_enc RAW(2048); l_dec RAW(2048); BEGIN l_enc := DBMS_CRYPTO.ENCRYPT(l_src, DBMS_CRYPTO.ENCRYPT_AES256 + DBMS_CRYPTO.CHAIN_CBC + DBMS_CRYPTO.PAD_PKCS5, l_key); l_dec := DBMS_CRYPTO.DECRYPT(l_enc, DBMS_CRYPTO.ENCRYPT_AES256 + DBMS_CRYPTO.CHAIN_CBC + DBMS_CRYPTO.PAD_PKCS5, l_key); DBMS_OUTPUT.PUT_LINE(UTL_RAW.cast_to_varchar2(l_dec)); END; Области применения · Шифрование персональных данных и платёжной информации; · Проверка целостности данных через хэш-значения; · Аутентификация файлов и сообщений с помощью MAC; · Генерация случайных ключей для криптографических операций.