Последнее обновление
CREATE ENCRYPTKEY
Описание
Этот оператор создаёт пользовательский ключ.
Синтаксис
CREATE ENCRYPTKEY <key_name> AS "<key_string>"
Обязательные параметры
1. <key_name>
Указывает имя создаваемого ключа, которое может включать идентификатор базы данных.
Пример:db1.my_key
2. <key_string>
Задаёт строку ключевого материала для криптографических операций.
Особенности поведения:
- Если
<key_name>содержит идентификатор базы данных, ключ будет создан в указанной базе данных- Если база данных не указана в
<key_name>, будет использована база данных текущего сеанса- Создать ключ не удастся, если в целевой базе данных уже существует ключ с таким именем
Требования к управлению доступом
Пользователь, выполняющий эту команду SQL, должен иметь как минимум следующие привилегии:
| Привилегия | Объект | Примечания |
|---|---|---|
ADMIN_PRIV | Глобальная область | Для создания ключей шифрования пользователь должен иметь привилегию ADMIN_PRIV |
Пример
-
Создание пользовательского ключа
CREATE ENCRYPTKEY my_key AS "ABCD123456789"; -
Создание пользовательского ключа в базе данных testdb
CREATE ENCRYPTKEY testdb.test_key AS "ABCD123456789"; -
Использование пользовательского ключа для шифрования данных
подсказкаПри использовании пользовательских ключей перед именем ключа необходимо указать
KEY/keyи поставить после него пробел.SELECT HEX(AES_ENCRYPT("Doris is Great", KEY my_key));+------------------------------------------------+
| hex(aes_encrypt('Doris is Great', key my_key)) |
+------------------------------------------------+
| D26DB38579D6A343350EDDC6F2AD47C6 |
+------------------------------------------------+ -
Использование пользовательского ключа для расшифровки данных
SELECT AES_DECRYPT(UNHEX('D26DB38579D6A343350EDDC6F2AD47C6'), KEY my_key);+---------------------------------------------------------------------+
| aes_decrypt(unhex('D26DB38579D6A343350EDDC6F2AD47C6'), key my_key) |
+---------------------------------------------------------------------+
| Doris is Great |
+---------------------------------------------------------------------+