FirebirdSQL logo

RSA_PUBLIC()

Доступно в

DSQL, PSQL

Синтаксис
RSA_PUBLIC (private-key)
Table 1. Параметры функции RSA_PUBLIC
Параметр Описание

private-key

RSA закрытый ключ.

Тип возвращаемого результата:

VARBINARY

Функция RSA_PUBLIC возвращает RSA открытый ключ для заданного RSA закрытого ключа.Оба ключа должны быть в PKCS#1 формате.

Example 1. Использование функции RSA_PUBLIC

Закрытый ключ должен быть инициализирован ранее см.пример в RSA_PRIVATE

select rdb$set_context('USER_SESSION', 'public_key',
    rsa_public(rdb$get_context('USER_SESSION', 'private_key')))
from rdb$database;

RSA_ENCRYPT()

Доступно в

DSQL, PSQL

Синтаксис
RSA_ENCRYPT (<data> KEY <public_key> [LPARAM <tag>] [HASH <hash>])

<hash> ::= { MD5 | SHA1 | SHA256 | SHA512 }
Table 1. Параметры функции RSA_ENCRYPT
Параметр Описание

data

Данные (строка или BLOB) для шифрования.

public_key

Открытый RSA ключ, который возвращает функция RSA_PUBLIC.

tag

Дополнительный системный тег, который можно применять для определения того, какая система закодировала сообщение.Значением по умолчанию является NULL.

hash

Алгоритм хеширования.По умолчанию SHA256.

Тип возвращаемого результата:

VARBINARY

Заполняет данные, используя заполнение OAEP, и шифрует их, используя открытый ключ RSA.Обычно используется для шифрования коротких симметричных ключей, которые затем используются в блочных шифрах для шифрования сообщения.

Example 1. Использование функции RSA_ENCRYPT

Открытый ключ должен быть инициализирован ранее см.пример в [fblangref-scalarfuncs-rsa_public]

select rdb$set_context('USER_SESSION', 'msg',
    rsa_encrypt('Some message' key rdb$get_context('USER_SESSION', 'public_key')))
from rdb$database;