2012-12-22 15 views
8

警告私はm_decryptを実行しようとするたびに失敗した、私は次のエラーがスローされています:以下PHP mcryptのは、モジュールの初期化を投げ続けるが

Warning: mcrypt_get_key_size(): Module initialization failed in /var/www/milo/system/encryption/common.php on line 51 Warning: mcrypt_get_block_size(): Module initialization failed in /var/www/milo/system/encryption/common.php on line 54 Warning: mcrypt_decrypt(): Module initialization failed in /var/www/milo/system/encryption/common.php on line 55 

それをすべてを駆動するコードです:

class encrpt 
{ 
    protected $data; 
    protected $key = "JUST A KEY"; 
    protected $cipher = "MCRYPT_SERPENT_256"; 
    protected $mode = "MCRYPT_MODE_CBC"; 

    public function m_encrypt($data) 
    { 
     return (string) 
     base64_encode(
      mcrypt_encrypt(
      $this->cipher, 
      substr(md5($this->key),0,mcrypt_get_key_size($this->cipher, $this->mode)), 
      $data, 
      $this->mode, 
      substr(md5($this->key),0,mcrypt_get_block_size($this->cipher, $this->mode)) 
     ) 
     ); 
    } 

    public function m_decrypt($data) 
    { 
     return (string) 
      mcrypt_decrypt(
      $this->cipher, 
      substr(md5($this->key),0,mcrypt_get_key_size($this->cipher, $this->mode)), 
      base64_decode($data), 
      $this->mode, 
      substr(md5($this->key),0,mcrypt_get_block_size($this->cipher, $this->mode)) 
     ); 
    } 
} 

I私が逃しているものは分かりません。私のphp-mcryptモジュールが壊れているか、依存していないのですか?私は、[OK]を、それを解決したPHP 5.3

+0

重複しているhttp://stackoverflow.com/questions/4809611/problem-with-mcrypt-installation –

+0

形や形を問わず、有効で有用な回答ではありません。 –

+0

それは基本的に同じ内容を持っているからです。 –

答えて

8

に走っています。私は定数を間違って入れていました。私のような私のクラスの変数の周りに変更:

protected $cipher = "rijndael-256"; 
protected $mode = "cbc"; 

希望を、この中に自分の脳をバッシングではないから、道の人々を助けます!

7
protected $cipher = MCRYPT_SERPENT_256; 
protected $mode = MCRYPT_MODE_CBC; 

これらは定数です。引用符は使用しないでください。

関連する問題