2012-12-22 16 views
8

Ogni volta che provo a fare funzionare m_decrypt, ho il seguente errore gettato:PHP mcrypt mantiene gettando inizializzazione modulo guasto Attenzione

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 

Di seguito è il codice che spinge tutto:

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 non so cosa mi manca Il mio modulo php-mcrypt è danneggiato o ha delle dipendenze mancanti? Sto eseguendo su PHP 5.3

+0

Duplicato di http://stackoverflow.com/questions/4809611/problem-with-mcrypt-installation –

+0

Visto, non è una risposta valida o utile in alcun modo, forma o forma –

+0

Bene, la tua risposta non è più o meno valido o utile in qualsiasi modo, poiché ha fondamentalmente lo stesso contenuto. –

risposta

8

Ok risolto. Stavo mettendo le costanti in errore. Ho cambiato intorno variabili di mia classe in quanto tale:

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

Spero che questo aiuti le persone lungo la strada da non colpire il loro cervello in !!

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

Quelle sono costanti: non utilizzare le virgolette.