Ich habe gerade bemerkt Magento Enterprise und Community beide Edition verwendet verschiedene Algorithmen zum Speichern von Passwort. Ich weiß Community Edition verwendet MD5. Kann mir jemand sagen, welcher Mechanismus in der Enterprise Edition verwendet wird und wie können wir das Enterprise-Passwort entschlüsseln, wenn wir zur Community Edition migrieren möchten?
Ich denke, es ist auf Ihrem app/etc/local.xml
oder app/etc/enterprise.xml
auf Magento EE
Die Decrypt-Funktion auf der Magento Enterprise Edition
%Vor%und
%Vor%es scheint die gleiche Funktion auf Enterprise Edition oder Community Edition zu sein. Sie sollten den cript-Schlüssel an den Magento Enterprise Edition-Eigentümer senden und ihn mit CE entschlüsseln. Es wäre in Ordnung, weil ich mich zum Code der Magento Enterprise Edition schleiche und der Code mit der Community Edition identisch ist (für die Verschlüsselung / Entschlüsselung)
nach Kommentar 1 hinzugefügt:
%Vor%Hashes sind eine Einwegverschlüsselung. Du solltest das Passwort nicht entschlüsseln können.
Grundlegende Operationen für Passwörter:
Der Kunde meldet sich an und gibt ein Passwort ein. Das System fügt ein Salt hinzu, verschlüsselt das Passwort und speichert den resultierenden Passwort-Hash in der Datenbank.
Der Kunde meldet sich an und gibt das Passwort ein. Das System fügt ein Salt hinzu, verschlüsselt das Passwort und vergleicht den erzeugten Passwort-Hash mit dem gespeicherten Passwort-Hash. Wenn die Hashes gleich sind, weiß das Login-System, dass der Kunde das Passwort kennt, ohne das Passwort selbst zu kennen.
Wenn also ein System SHA1 verwendet und ein anderes altes, abgelaufenes MD5, besteht die einzige Möglichkeit, das Passwort zurück in das System zu bekommen, darin, dass der Kunde das Passwort erneut eingibt, so dass der neue Hash-Algorithmus aufgerufen wird und der neue Hash erhalten wird gespeichert.
Sie haben den Enterprise-Quellcode, schreiben ein Modul, das die Enterprise-Hashing-Funktion zum Speichern und Vergleichen der Kennwörter verwendet, und Sie haben CE mit einer aktualisierten, verbesserten Sicherheitsmethode zum Speichern von Kennwörtern und sollten in der Lage sein, die Kennworthashes zu bringen vorbei von der alten Seite.
Einige zusätzliche Informationen:
Die verwendete Verschlüsselungsmethode befindet sich in der Mage_Core_Model_Encryption-Klasse.
Drei interessante Funktionen sind:
public function hash($data)
public function getHash($password, $salt = false)
public function validateHash($password, $hash)
Funktionscode ab 1.7.x.x
& gt;
%Vor%& gt;
%Vor%& gt;
%Vor%Es scheint, dass sowohl CE als auch Enterprise dieselben Routinen verwenden, Sie müssen das überprüfen, da Sie den Enterprise-Code haben .
Wenn Sie den Verschlüsselungsschlüssel in Ihrer app / etc / local.xml-Datei so ändern, dass er mit dem Schlüssel in Ihrer Enterprise-Version übereinstimmt und anschließend die Enterprise-Daten in die CE-Datenbank importiert, können Sie auf verschlüsselte Daten zugreifen. Passwörter werden jedoch als Hashes gespeichert (siehe obige Funktionsblöcke) und daher nicht reversibel. Der entsprechende Abschnitt in local.xml, in dem der Verschlüsselungsschlüssel gespeichert ist:
%Vor%Wir sind auch zu einem anderen System mit einem anderen Passwort-Algorithmus übergegangen. Was wir getan haben, war in der Tat wie Fiasco schlägt vor:
- & gt; schreibe ein benutzerdefiniertes Modul, das Magento_Core_Model_Encryption überschreibt und ändere die hash
-Funktion so, dass sie dem Algorithmus der verschlüsselten Passwörter entspricht.
In Ihrer Modulkonfiguration:
%Vor%Ich habe in der Vergangenheit eine erfolgreiche Migration von Magento Enterprise zu Magento Community durchgeführt. Wenn die Passwörter gesalzen sind, können Sie sie nicht entschlüsseln, um sie für die Magento Community zu verwenden.
Ihre beste Option ist es, einen Massen-Newsletter zu versenden, in dem Sie sagen, dass Personen ihr Passwort ändern müssen ODER automatisch ein Passwort für jeden Kunden generieren und es an sie senden müssen.
Sie sollten beide MD5 verwenden.
Vielleicht hat man Salz und man nicht - aber es wird rückwärts kompatibel sein.
Tags und Links magento