с Firebird 4.0 ваша версия: любая

DECRYPT

Версии сервера

2.53.04.05.06.0
−−ДаДаДа

Доступно в

DSQL, PSQL

Формат

DECRYPT (input
  [USING <algorithm>] [MODE <mode>]
  KEY key
  [IV iv] [<ctr_type>] [CTR_LENGTH ctr_length]
  [COUNTER initial_counter] )

Алгоритмы, режимы и параметры — те же, что у ENCRYPT.

Описание

Функция DECRYPT расшифровывает данные, зашифрованные симметричным шифром. На вход подаётся зашифрованный BLOB или двоичная строка; результат возвращается как BLOB или VARBINARY.

Алгоритм задаётся предложением USING (блочные: AES, ANUBIS, BLOWFISH, KHAZAD, RC5, RC6, SAFER+, TWOFISH, XTEA; потоковые: CHACHA20, RC4, SOBER128), ключ — предложением KEY.

Для блочных алгоритмов обязателен режим MODE. Вектор инициализации IV нужен всем блочным алгоритмам, кроме ECB, и всем потоковым, кроме RC4. Предложения CTR_TYPE/CTR_LENGTH (порядок байтов и длина счётчика) допустимы только в режиме CTR; COUNTER — только для CHACHA20.

Все параметры дешифрования обязаны совпадать с использованными при шифровании функцией ENCRYPT, иначе данные будут восстановлены некорректно.

Пример

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;

См. также

ENCRYPT, CRYPT_HASH, RSA_FUNCTIONS

Источник

Руководство по языку SQL СУБД Firebird 5.0 (sim1984 / ibase.ru, Public Documentation License)

Обсуждение