私はこれらの警告を受け続けます:
警告: 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);
調査しましたが、これらの警告が何を意味するのか、暗号化/復号化に影響を与えているのか、それとも正確に何が問題なのかを見つけることができませんでした? コードではないことは確かです(別のサーバーで動作しているため)。