php от mcrypt до openssl - PullRequest
       42

php от mcrypt до openssl

0 голосов
/ 16 апреля 2020

С этого дня я использовал mcrypt на своем веб-сайте для шифрования адреса электронной почты пользователей. Модуль php mcrypt был установлен с php 7.4 на моем последнем сервере, поэтому он не создавал никаких проблем. Поскольку мне нужно было сменить хостинговую компанию, они не предоставили мне установку mcrypt на свой сервер. Поэтому мне нужно изменить функцию, которая будет поддерживаться на php 7.4. У меня была эта функция для шифрования адреса электронной почты моих пользователей по соображениям безопасности, если когда-либо произошла инъекция sql.

function encrypt_128($string){
    $string = rtrim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $string, MCRYPT_MODE_ECB)));
    return $string;

Я заменил эту функцию, но она не возвращает тот же вывод.

function encrypt_128($string){

    return rtrim(base64_encode(openssl_encrypt($string, 'aes-256-ecb', $key, OPENSSL_RAW_DATA)));

Я читал, что mcrypt не использует заполнение, и я попытался добавить OPENSSL_ZERO_PADDING , но он больше не может зашифровать адрес электронной почты пользователя и не возвращает никаких результатов. Мне понадобится эта функция для того же вывода, потому что новые пользователи могут зарегистрироваться с тем же адресом электронной почты, что и старые пользователи.

1 Ответ

0 голосов
/ 17 апреля 2020

Оказывается, это не способ сделать это возможным, я просто расшифровал все свои данные и заново зашифровал их с помощью нового алгоритма. Это заняло много времени, но это было необходимое изменение. Если кто знает как не стесняйтесь опубликовать ответ.

...