DECRYPT()
DSQL, PSQL
DECRYPT (encrypted_input [USING <algorithm>] [MODE <mode>] KEY key [IV iv] [<ctr_type>] [CTR_LENGTH ctr_length] [COUNTER initial_counter] ) <algorithm> ::= <block_cipher> | <stream_cipher> <block_cipher> ::= AES | ANUBIS | BLOWFISH | KHAZAD | RC5 | RC6 | SAFER+ | TWOFISH | XTEA <stream_cipher> ::= CHACHA20 | RC4 | SOBER128 <mode> ::= CBC | CFB | CTR | ECB | OFB <ctr_type> ::= CTR_BIG_ENDIAN | CTR_LITTLE_ENDIAN
Параметр | Описание |
---|---|
encrypted_input |
Зашифрованный BLOB или (двоичная) строка |
algorithm |
Алгоритм шифрования.Поддерживаются как блочные, так и потоковые алгоритмы. |
mode |
Режим шифрования.Обязателен для блочных алгоритмов шифрования. |
key |
Ключ шифрования. |
iv |
Вектор инициализации (IV). Должен быть указан для всех блочных алгоритмов шифрования за исключением |
ctr_type |
Порядок байтов счётчика.Может быть указан только в режиме |
ctr_length |
Длина счётчика в байтах.Может быть указана только в режиме |
initial_counter |
Начальное значение счётчика.Может быть указана только для алгоритма |
BLOB
или VARBINARY
.
Функция DECRYPT
дешифрует данные с использованием симметричного шифра.Размеры строк передаваемых в эту функцию должны соответствовать требованиям выбранного алгоритма и режима.
DECRYPT
select decrypt(x'0154090759DF' using sober128 key 'AbcdAbcdAbcdAbcd'
iv '01234567')
from rdb$database;
select decrypt(secret_field using aes mode ofb key '0123456701234567'
iv init_vector)
from secure_table;