升级加密

文档

更改内容

  • MCrypt 的支持已取消,因为 PHP 7.2 已弃用该支持。

升级指南

  1. 在配置中,$config['encryption_key'] = 'abc123';application/config/config.php 移至 app/Config/Encryption.php 中的 public $key = 'abc123';

  2. 如果您需要解密使用 CI3 的加密加密的数据,请配置设置以保持兼容性。请参阅 与 CI3 兼容的配置

  3. 无论您在何处使用加密库,您都必须将 $this->load->library('encryption'); 替换为 $encrypter = service('encrypter');,并更改加密和解密方法,如下面的代码示例所示。

代码示例

CodeIgniter 版本 3.x

<?php

$this->load->library('encryption');

$plain_text = 'This is a plain-text message!';
$ciphertext = $this->encryption->encrypt($plain_text);

// Outputs: This is a plain-text message!
echo $this->encryption->decrypt($ciphertext);

CodeIgniter 版本 4.x

<?php

$encrypter = service('encrypter');

$plainText  = 'This is a plain-text message!';
$ciphertext = $encrypter->encrypt($plainText);

// Outputs: This is a plain-text message!
echo $encrypter->decrypt($ciphertext);