Эта документация была автоматически переведена ИИ.
Шифрование
Поле коллекции: ШифрованиеProfessional Edition+Введение
Некоторые конфиденциальные бизнес-данные, такие как номера телефонов клиентов, адреса электронной почты, номера карт и т. д., могут быть зашифрованы. После шифрования они будут храниться в базе данных в виде зашифрованного текста.

Метод шифрования
Плагин автоматически генерирует ключ приложения, который хранится в директории /storage/apps/main/encryption-field-keys.
Файл ключа приложения имеет имя, соответствующее ID ключа, с расширением .key. Пожалуйста, не изменяйте имя файла без необходимости.
Пожалуйста, обеспечьте надёжное хранение файла ключа приложения. В случае его утери зашифрованные данные не подлежат расшифровке.
Если плагин активирован для дочернего приложения, ключ по умолчанию сохраняется в директории /storage/apps/${имя_дочернего_приложения}/encryption-field-keys.
Принцип работы
Используется метод конвертного шифрования.

Процесс создания ключей
- При первом создании зашифрованного поля система автоматически генерирует 32-битный
ключ приложенияи сохраняет его в директории хранения по умолчанию в кодировке Base64. - При каждом создании нового зашифрованного поля для него генерируется случайный 32-битный
ключ поля. Затем он шифр уется с использованиемключа приложенияи случайно сгенерированного 16-битноговектора шифрования поля(алгоритм шифрованияAES), после чего сохраняется в полеoptionsтаблицыfields.
Процесс шифрования поля
- При каждой записи данных в зашифрованное поле сначала извлекаются зашифрованный
ключ поляивектор шифрования поляиз поляoptionsтаблицыfields. - Зашифрованный
ключ полярасшифровывается с использованиемключа приложенияивектора шифрования поля. Затем данные шифруются с помощьюключа поляи случайно сгенерированного 16-битноговектора шифрования данных(алгоритм шифрованияAES). - Данные подписываются с использованием расшифрованного
ключа поля(алгоритм хешированияHMAC-SHA256) и преобразуются в строку в кодировке Base64 (полученнаяподпись данныхв дальнейшем используется для поиска данных). - 16-битный
вектор шифрования данныхи зашифрованныйтекст данныхобъединяются в двоичном формате, а затем кодируются в Base64. - Строка
подписи данныхв кодировке Base64 и объединённыйтекст данныхв кодировке Base64 соединяются с использованием разделителя.. - Итоговая объединённая строка сохраняется в базе данных.
Переменные окружения
Если вы хотите указать собственный ключ приложения, используйте переменную окружения ENCRYPTION_FIELD_KEY_PATH. Плагин загрузит файл по указанному пути в качестве ключа приложения.
Требования к файлу ключа приложения:
- Расширение файла должно быть
.key. - Имя файла будет использоваться в качестве ID ключа; рекомендуется использовать UUID для обеспечения уникальности.
- Содержимое файла должно представлять собой 32-байтные двоичные данные, закодированные в Base64.
Настройка поля


