2015-03-09 1 views
5
unterstützt

Wir erhalten die folgende Warnung, nachdem sie von PHP 5.5.18 zu PHP 5.6.2 aktualisieren:mcrypt Warnung bei Update auf PHP 5.6.2; Schlüssel der Größe x nicht

mcrypt_decrypt(): Key of size 20 not supported by this algorithm. Only keys of sizes 16, 24 or 32 supported 

Der Verschlüsselungsalgorithmus erschien vor diesem gut zu funktionieren:

$decrypttext = mcrypt_decrypt(
    MCRYPT_RIJNDAEL_256, 
    $this->keys[$key_label], 
    $crypttext, 
    MCRYPT_MODE_ECB, 
    $iv 
); 

Es wäre ein großer Schmerz, alles neu verschlüsseln zu müssen, gibt es etwas, mit dem ich den Schlüssel auffüllen kann, so dass es genauso funktioniert wie zuvor?

Vermutlich gibt es hier keine Sicherheitslücken.

+1

Sehen Sie die Rückwärts Inkompatiblen Änderungen zwischen 5.5 und 5.6, Angst, Sie müssen einen Fixer schreiben, wie Sie es falsch gemacht haben, mit [PHP-Dokumentation] (http://php.net/manual/en/migration56.incompatible) zu beginnen. php) – RiggsFolly

+0

_ "Vermutlich gibt es hier keine Sicherheitslücken" _ - das ist wohl die Einstellung, die jeder einzelne irgendwie gehackte Dienst zuvor gezeigt hatte ... – CBroe

+0

@CBroe "Vermutlich gibt es hier keine Sicherheitslücken" - so Ich kann mir keinen vorstellen, aber wenn jemand davon weiß, könntest du mich informieren. Nicht wie in "Ich kann nicht mit Sicherheit belästigt werden" .. also danke für diesen unnötig hohen und mächtigen Kommentar. – Arth

Antwort

13

Vor dieser Änderung wurden Schlüssel mit ungültiger Größe bis zur nächsten gültigen Schlüsselgröße mit \0 aufgefüllt. Sie sollten also wahrscheinlich dasselbe mit Ihrem Schlüssel tun können, indem Sie am Ende null Nullbytes \0\0\0\0 hinzufügen.

Jetzt ist der Vorbehalt natürlich, dass dies ein schwacher Schlüssel ist, der nicht das beabsichtigte Sicherheitsniveau bietet, aber es wird nicht schlechter sein, als es bereits war, und Sie haben andere signifikante Sicherheitsprobleme damit Sie verschlüsseln auch, wie die Verwendung des ECB-Modus, der für die Sicherheit generell katastrophal ist.

Also, wenn Sie tun entscheiden, ist es Zeit zu aktualisieren, einen Schlüssel eines gültigen Größe Wahl ist nur eine der Änderungen, die gemacht werden muss, und Sie sollten wahrscheinlich diese werden nicht so schnell, wie Sie können feasibly.

Verwandte Themen