mcrypt_generic
(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)
mcrypt_generic — Функція шифрує дані
Увага
Ця функція оголошена застарілої починаючи з PHP 7.1.0 і була ВИДАЛЕНО у версії PHP 7.2.0. Використовувати цю функцію не рекомендується.
Опис
mcrypt_generic(resource $td, string $data): string
Ця функція шифрує дані. Дані будуть доповнені символами\0
" для того, щоб їх розмір став кратним розміру блоку. Ця функція повертає зашифровані дані. Зверніть увагу, що довжина рядка, що повертається, може бути більше вихідної через доповнення.
Якщо ви хочете зберігати шифровані дані в базі даних, переконайтеся, що ви зберігаєте рядок повністю, як вона була повернута цією функцією, інакше ви потім не зможете її розшифрувати. Якщо ваш оригінальний рядок був 10 символів довжиною, а розмір блоку дорівнює 8 (використовуйте mcrypt_enc_get_block_size() для визначення розміру блоку) то розмір стовпця бази даних повинен бути як мінімум 16 символів. Зверніть увагу, що рядок повертається mdecrypt_generic() також буде розміром 16 символів. У такому разі просто використовуйте rtrim($str, "\0") для видалення доданих символів.
Наприклад, якщо ви збережете дані в MySQL, пам'ятайте, що при вставці значень поля типу VARCHAR, у них автоматично відкидаються пробіли з кінця рядка. Якщо зашифровані дані закінчуються на пробіл (ASCII 32), вони будуть пошкоджені при такій вставці. Найкраще використовуйте для зберігання поля типу TINYBLOB/TINYTEX або більше.
Список параметрів
td
Дескриптор шифрування.
Обробник шифрування завжди повинен ініціалізуватися за допомогою mcrypt_generic_init() з ключем та ініціалізуючим вектором перед викликом функції. Як тільки шифрування завершено, необхідно звільнити буфери шифрування шляхом виклику функції mcrypt_generic_deinit()Смотрите Приклад в описании функцииmcrypt_module_open()
data
Дані для шифрування.
Значення, що повертаються
Повертає зашифровані дані.
Дивіться також
- mdecrypt_generic() - Дешифрування даних
- mcrypt_generic_init() - Функція ініціалізує всі буфери, необхідні для шифрування
- mcrypt_generic_deinit() - Ця функція деініціалізує модуль шифрування