我不断收到这些警告:
警告:mcrypt_generic_init(): mcrypt_generic_init(): 1 不是 C:\Users\dever\Desktop\web code\HeloWorld\HeloWorld\Crypt.php 第 123 行第 9 列中的有效 MCrypt 资源。
警告:mdecrypt_generic(): mdecrypt_generic(): 1 不是 C:\Users\dever\Desktop\web code\HeloWorld\HeloWorld\Crypt.php 第 124 行第 9 列中的有效 MCrypt 资源。
警告:mcrypt_generic_deinit(): mcrypt_generic_deinit(): 1 不是 C:\Users\dever\Desktop\web code\HeloWorld\HeloWorld\Crypt.php 第 125 行第 9 列中的有效 MCrypt 资源。
警告:mcrypt_generic_init(): mcrypt_generic_init(): 1 不是 C:\Users\dever\Desktop\web code\HeloWorld\HeloWorld\Crypt.php 第 100 行第 9 列中的有效 MCrypt 资源。
警告:mcrypt_generic(): mcrypt_generic(): 1 不是 C:\Users\dever\Desktop\web code\HeloWorld\HeloWorld\Crypt.php 第 105 行第 9 列中的有效 MCrypt 资源。
警告:mcrypt_generic_deinit(): mcrypt_generic_deinit(): 1 不是 C:\Users\dever\Desktop\web code\HeloWorld\HeloWorld\Crypt.php 第 107 行第 9 列中的有效 MCrypt 资源。
由于这是一个警告并且字符串“似乎”被加密了,我一直忽略它直到现在。但是,我正在使用的远程服务器似乎不喜欢加密字符串并向我返回错误说明。
这是生成这些警告的代码:
mcrypt_generic_init($this->_td, $this->_key, $iv);
$data = mdecrypt_generic($this->_td, $data);
mcrypt_generic_deinit($this->_td);
和
$iv = mcrypt_create_iv(self::AES_BLOCK_SIZE, $random_source);
$s = mcrypt_generic_init($this->_td, $this->_key, $iv);
if( ($s < 0) || ($s === false))
die( "Really an error" );
$data = mcrypt_generic($this->_td, $data);
$data = $iv.$data;
mcrypt_generic_deinit($this->_td);
我已经研究过,但无法找出这些警告的含义,如果它们影响加密/解密或究竟是什么问题?我很确定它不是代码(因为我让它在不同的服务器上工作)。