【问题标题】:Function mcrypt_get_iv_size() is deprecated in codeigniter on PHP version 7.1函数 mcrypt_get_iv_size() 在 PHP 7.1 版本的 codeigniter 中已弃用
【发布时间】:2018-01-02 14:58:29
【问题描述】:

当我使用 加密库 加密我的 ID 时,它会给我一个错误,例如:

感谢您的帮助

【问题讨论】:

  • 最好不要使用 PHP mcrypt,它是废弃软件,多年未更新,不支持标准 PKCS#7(née PKCS#5)填充,仅支持非标准空填充甚至不能用于二进制数据。 mcrypt 有许多出色的 bugs 可以追溯到 2003 年。不推荐使用的 mcrypt-extension 将在 PHP 7.2 中删除。而是考虑使用defuseRNCryptor,它们提供了一个完整的解决方案并且正在维护并且是正确的。

标签: codeigniter encryption


【解决方案1】:

codeigniter 已经在他们的 encrypt Library 官方文档中提到了它

此库已被弃用,仅保留用于向后 兼容性。请使用新的Encryption Library

使用新的加密库。 https://codeigniter.com/userguide3/libraries/encryption.html

【讨论】:

    【解决方案2】:

    我使用的是php 7.2,我可以使用新的库加密推荐解决。

    例子:

    // #Encrypt
    
    $this->load->library('encryption');
    $to_encrypt="some value";
    $this->encryption->initialize(
            array(
                    'cipher' => 'aes-256',
                    'mode' => 'ctr',
                    'key' => $this->config->config['encryption_key']
            )
    );
    echo $this->encryption->encrypt($to_encrypt);
    

    更多信息 -> https://codeigniter.com/userguide3/libraries/encryption.html

    【讨论】:

    • 另外:使用 $this->encryption->decrypt($var); 代替 $this->encryption->decode($var)
    猜你喜欢
    • 1970-01-01
    • 2018-04-29
    • 2017-07-19
    • 2017-06-20
    • 2013-08-22
    • 1970-01-01
    • 1970-01-01
    • 2020-04-20
    • 2011-08-07
    相关资源
    最近更新 更多