php从mcrypt到openssl

问题描述 投票:0回答:1

从今天开始,我在网站上使用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,但是它不再能够加密用户的电子邮件地址,并且不返回任何输出。我需要该功能来产生相同的输出,因为新用户可以使用与旧用户相同的电子邮件地址进行注册。

php openssl mcrypt
1个回答
0
投票

事实证明,这不是使之成为可能的方法我只是解密了所有数据,然后使用新算法对其进行了重新加密。花费了很长时间,但这是需要进行的更改。如果有人知道如何随意发布答案。

© www.soinside.com 2019 - 2024. All rights reserved.