Ho fatto un uso pesante di mcrypt nella mia app php per anni, sia su win/IIS che su linux. Sebbene io stia eseguendo PHP 5.4.28 sul mio server linux, ho appena effettuato l'aggiornamento a PHP 5.6.11 sulla mia finestra IIS 8.1 di Windows. E mcrypt non funziona più. Non lancia errori che riesco a vedere; semplicemente non funziona Qui è la mia funzione di crittografia:mcrypt non funziona in PHP 5.6 su windows/IIS
function Encrypt($text){
global $salt;
if($text != "")
return trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $salt, $text, MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND))));
else
return "";
}
Questo funziona bene sul mio server Linux, ma restituisce vuota sulla mia scatola di finestre locali. Da quello che ho letto, mcrypt è integrato in php 5.6 per Windows, quindi non ci dovrebbe essere alcun giochetto con estensioni o file ini.
Cosa mi manca?
Non mcrypt usa '/ dev/urandom'? – ScottMcGready
Testato con PHP 5.6.12 su Windows 8 e funziona ... non è così semplice come il tuo '$ text' è vuoto? hai provato a 'var_dump ($ text)'? –
Spero ti renderai conto di quanto sia insicura la funzione 'Encrypt'. –