Mcrypt
Если есть необходимость зашифровать информацию о кредитной карте, а затем расшифровать ее, то одним из простейших решений будет использование модуля Mcrypt, который доступен в виде
Использование Mcrypt
Следующий сценарий показывает, как использовать Mcrypt для шифрования и дешифрования данных:
<?php $data = "Stuff you want encrypted"; $key = "Secret passphrase used to encrypt your data"; $cipher = "MCRYPT_SERPENT_256"; $mode = "MCRYPT__M0DE_CBC"; function encrypt($data, $key, $cipher, $mode) { // Шифрование данных return (string) base64_encode ( mcrypt_encrypt ( $cipher, substr (md5 ($key) , 0,mcrypt_get_key_size ($cipher, $mode) ) , $data, $mode, substr (md5 ($key), 0, mcrypt_get_block_size ($cipher, $mode)) ) ) ; } function decrypt($data, $key, $cipher, $mode) { // Дешифрование данных return (string) mcrypt_decrypt ( $cipher, substr(md5($key),0,mcrypt_get_key_size($cipher, $mode)), base64_decode($data) , $mode, substr(md5($key),O,mcrypt_get_block_size($cipher, $mode)) ) ; } ?>
Вызов функции mcrypt()
Функции mcrypt() нужно передать следующую информацию:
Включение библиотеки mcrypt для php в Ubuntu
Данная библиотека может потребоваться, например, при использовании на сайте облачных технологий (как пример - для выполнения резервного копирования в облачный диск).
До
-
установка модуля (если не установлен)
sudo apt-get install php5-mcrypt
-
создание ссылок (чтобы не копировать)
sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available
-
включение:
sudo php5enmod mcrypt
-
перезапуск веб-сервера:
sudo /etc/init.d/apache2 restart