Средства шифрования данных
Автор: lolkek2281 • Октябрь 24, 2021 • Лекция • 2,589 Слов (11 Страниц) • 259 Просмотры
Средства шифрования данных, Скрыть данные от неуполномоченных пользователей можно, зашифровав их. В СУБД MySQL имеются функции шифрования данных. Некоторые из них представлены в таблице З З.
Таблица 3.3 — Функции шифрования СУБД MySQL
ф нкция | Описание |
AES ENCRYPT(str, Кеу str) | Подвергает строку str шифрованию, используя официальный алгоритм AES. В качестве ключа используется значение Ке str. |
AES [pic 1]key_str) | Принимает в качестве первого аргумента зашифрованную с помощью функции AES ENCRYPT() строку и расшифровывает ее. При этом ключ key_str должен совпадать как в пе вом, так и во вто ом сл чае. |
DES ENCRYPT(str, кеу) | Подвергает строку str шифрованию, используя официальный алгоритм 3DES. В качестве ключа используется значение К str. |
DES DECRYPT(crypt str, Кеу) | Принимает в качесгве первого аргумента зашифрованную с помощью функции DES ENCRYPT() строку и расшифровывает ее. При этом ключ Кеу str должен совпадать как впе вом, таки во вто мс ае. |
ENCRYPT(str) | Подвергает строку str необратимому шифрованию, использ я вызов системной ии |
md5(str) | Подвергает строку str необратимому шифрованию, использ я алго итмМГ)5. |
SHAl(str) | Вычисляет контрольную сумму для строки str по алгоитм SHA. |
Пример. Допустим, необходимо хранить значение заработной платы сотрудников в зашифрованном виде, тогда вставка данных будет осуществлять с помощью запроса:
INSERTINTO employees(surname, id_depart, salary_hour)
[pic 2]
А выборка данных:
SELECT id_depart, AES [pic 3] id_depart) ПОМ ernployees;
Следует обратить внимание, что для использования приведенных выше функций шифрования столбец «salary hour» должен иметь символьный тип данных, например VARCHAR[pic 4]
Контрольные вопросы и задания
- Назовите средства СУБД MySQL, предназначенные для ограничения доступа к данным.
- Объясните, что такое привилегии. Назовите операторы языка SQL для работы с ними.
83
З. Дайте определение представления. Назовите операторы языка SQL для работы с ними.
4. Объясните принцип работы функций шифрования. Приведите примеры функций шифрования в СУБД MySQL.
- ПРОГРАММИРОВАНИЕ НА SQL
4.1 Хранимые процедуры и функции
Для реализации бизнес-логики или бизнес-сценариев на языке SQL можно создавать хранимые объекты: процеДуры, функции, триггеры, события. Под хранимым объектом будем понимать последовательность запросов, хранящихся на сервере и реализующих определенный алгоритм. В результате КЛИ€зНтам не нужно ПОСЫЛсгЬ серверу последовательность запросов, достаточно послать один запрос на вызов хранимого объекта. Преимущества такого подхода:
— уменьшается риск ошибок при выполнении бизнесс-процедур, а также уменьшается время разработки прикладного ПО;
— сокращается сетевой трафик;
— безопасность. Алгоритм реализован на сервере;
— снижается сложность кода в прикладном ПО;
[pic 5]— облегчается процесс модификации системы. Если алгоритм выполнения операции изменился, то изменения вносятся в соответствующий хранимый объект на сервере. В прикладном ПО достаточно внести небольшие изменения только лишь в случае изменения входных либо выходных параметров.
[pic 6]Хранимые функции. Хранимые функции принимают входные параметры, выполняют какой-либо алгоритм и возвращают результат. Создание производится с помощью оператора CREATE FUNCTION, который в СУБД MYSQL имеет следующий синтаксис:
CREATE FUNCTION f_name
([parameter [ ...]l)
RETURNS оре
[characteristics.. ..l function_body, где Кпате — имя функции;
Оре — тип данных возвращаемого значения; function body — программный код тела функции, состоящий из операторов языка SQL[pic 7]
Вызываются хранимые функции с помощью оператора
...