2017-12-25 35 views
2
<?php 
class Encryption { 
    var $skey  = "1234561234561234"; // you can change it 

    public function safe_b64encode($string) { 

     $data = base64_encode($string); 
     $data = str_replace(array('+','/','='),array('-','_',''),$data); 
     return $data; 
    } 

    public function safe_b64decode($string) { 
     $data = str_replace(array('-','_'),array('+','/'),$string); 
     $mod4 = strlen($data) % 4; 
     if ($mod4) { 
      $data .= substr('====', $mod4); 
     } 
     return base64_decode($data); 
    } 

    public function encode($value){ 

     if(!$value){return false;} 
     $text = $value; 
     $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); 
     $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); 
     $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $this->skey, $text, MCRYPT_MODE_ECB, $iv); 
     return trim($this->safe_b64encode($crypttext)); 
    } 

    public function decode($value){ 

     if(!$value){return false;} 
     $crypttext = $this->safe_b64decode($value); 
     $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); 
     $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); 
     $decrypttext = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $this->skey, $crypttext, MCRYPT_MODE_ECB, $iv); 
     return trim($decrypttext); 
    } 

} 

私のencryption.phpです。私はこのエラーを解決し、多くの時間を研究しようとしましたが、適切な答えを見つけることができませんでした。誰か助けてください。私はPHPで新しいです。関数mcrypt_create_iv()は非推奨です - コード名

エラー:

A PHPのエラーが発生しました

重要度:8192

メッセージ:機能mcrypt_create_iv()は推奨されませ

ファイル名:ライブラリ/

Encryption.php

行番号:27

+0

サーバーにインストールされて使用されているPHPバージョンは何ですか? –

+0

私は現在、PHPのバージョン:7.1.4 –

+2

を使用していますが、それは問題です。マニュアルとその状態を見てくださいhttp://php.net/manual/en/function.mcrypt-create-iv.php –

答えて