2017-12-25 31 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()가 지원되지 않습니다. 코드 서명자

오류 :

PHP는 오류가 발생했습니다

심각도 : 8192

메시지 : 기능 mcrypt_create_iv()는 지원되지 않습니다

파일 이름 : 라이브러리/

Encryption.php

행 번호 : 27

,210
+0

서버에 설치되어 사용되는 PHP 버전은 무엇입니까? –

+0

현재 PHP 버전 7.1.4 –

+2

을 사용하고 있습니다. 설명서 및 해당 내용을보십시오 http://php.net/manual/en/function.mcrypt-create-iv.php –

답변