Функция Mcrypt устарела с PHP 7.1.0.
Мои устаревшие функции кодирования / декодирования строки:
$key: secret key $str: string $encoded = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $str, MCRYPT_MODE_CBC, md5(md5($key)))); $decoded = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($str), MCRYPT_MODE_CBC, md5(md5($key))), "\0");
Можете ли вы предложить несколько альтернатив?
Вместо этого вы должны использовать openssl_encrypt . С уважением!
Рассмотрите возможность использования defuse или RNCryptor , они обеспечивают полное решение, поддерживаются и правильны.
Как упоминалось выше, open_ssl является хорошей альтернативой mcrypt. Единственной проблемой, с которой я столкнулся с open_ssl, является то, что она не может использоваться для больших строк.
Я написал сценарий (статический класс), который преодолевает эту проблему (большие строки разбиваются на куски и зашифровываются / дешифруются отдельно в фоновом режиме).
См. Public gist: https://gist.github.com/petermuller71/33616d55174d9725fc00a663d30194ba