Ключ шифрования (Encryption Key) в Magento 2
Ключ шифрования используется Magento для защиты пароля, данных кредитной карты и других конфиденциальных данных интернет-магазина на CMS Magento.
Для шифрования всех данных, которым нужна дешифровка, используется алгоритм AES-256 (Advanced Encryption Standard, размер блока 256 бит).
Для хеширования всех данных, которые не требуют расшифровки, используется алгоритм SHA-256 (Secure Hash Algorithm – безопасный алгоритм хеширования). Этот ключ используется для обеспечения безопасности данных в базе данных Magento. В основном этот ключ требуется при настройке облачных сред Magento. Также, в основном, этот ключ шифрования требуется при переносе сайта с одного хоста на другой.
Желательно регулярно менять ключ шифрования в Magento для повышения безопасности сайта. В первый раз, во время установки, система сгенерирует ключ автоматически, и он будет сохранен в файл по адресу app/etc/env.php
.
Ключ указывается в массиве настроек в этом файле вида:
… 'crypt' => [ 'key' => 'тут указывается ключ шифрования – Encryption Key' ], ..
ВАЖНО: никогда не давайте другим этот ключ!
Как поменять Encryption Key из админки Magento 2
Чтобы создать новый ключ из раздела администратора, перейдите по следующему адресу:
Система -> Управление ключом шифрования
В этом разделе у вас есть возможность сгенерировать новый ключ шифрования с помощью 2-х различных способов:
- Автоматический ключ генерации (Auto generation key): при выборе этого способа система Magento сама сгенерирует ключ шифрования автоматически
- Новый ключ (New key): с помощью этого выбора вы можете ввести ключ самостоятельно и сгенерировать его. Помните, что если вы хотите ввести ключ шифрования вручную, он должен состоять из 32 символов длиной и без пробелов.
Примечание. Файл app/etc/env.php
должен иметь права на запись, если вы создаете новый ключ шифрования из админки. Если у этого файла нет требуемого разрешения на запись, вы можете скопировать и вставить новый ключ шифрования вручную в этот файл.