Ich habe mcrypt in meiner php app seit Jahren stark genutzt, sowohl auf win/IIS als auch auf linux. Obwohl ich PHP 5.4.28 auf meinem Linux-Server laufen lasse, habe ich gerade auf PHP 5.6.11 auf meinem Windows 8.1 IIS-Feld aktualisiert. Und Mcrypt funktioniert nicht mehr. Es wirft keine Fehler, die ich sehen kann; es funktioniert einfach nicht. Hier ist meine Verschlüsselungsfunktion:mcrypt funktioniert nicht in PHP 5.6 unter 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 "";
}
Das funktioniert gut auf meinem Linux-Server, aber leer auf meinem lokalen Windows-Box. Nach dem, was ich gelesen habe, ist mcrypt in PHP 5.6 für Windows eingebaut, also sollte man nicht mit Extensions oder Ini-Dateien herumhantieren.
Was fehlt mir?
Kann ich '' dev/urandom'' nicht verwenden? – ScottMcGready
Getestet mit PHP 5.6.12 unter Windows 8 und es funktioniert ... kann es nicht so einfach sein wie dein '$ text' leer ist? habe versucht, 'var_dump ($ text)' '? –
Ich hoffe, Sie erkennen, wie unsicher diese 'Verschlüsseln' Funktion ist. –