Ich habe Magento 1 auf Magento 2.3.0 migriert. Alles ist in Ordnung. Wenn ich jedoch ein Kundenformular auf beiden Seiten (Front und Admin) erstelle, wird der Fehler beim Entschlüsseln angezeigt, auch wenn ich den Kunden nicht bearbeiten kann, wenn ich auf Speichern klicken. Der gleiche Fehler ist aufgetreten .
Der folgende Fehler ist:
Schwerwiegender Fehler: Nicht erfasster TypeError: Rückgabewert von Magento \ Framework \ Encryption \ Adapter \ SodiumChachaIetf :: decrypt () muss vom Typ string sein, boolean, der in public_html / vendor / magento / framework / Encryption / Adapter / SodiumChachaIetf.php: 68 zurückgegeben wird Stapelverfolgung: # 0 public_html / vendor / magento / framework / Encryption / Encryptor.php (358): Magento \ Framework \ Encryption \ Adapter \ SodiumChachaIetf-> decrypt ('"\ x10 \ x88 \ x8E \ xB5 \ x851; H \ xB1 \ x12 \ xE1aaP ... ')
# 1 /public_html/vendor/dotmailer/dotmailer-magento2-extension/Helper/Data.php(744): Magento \ Framework \ Encryption \ Encryptor-> decrypt ('IhCIjrWFMTtIsRL ...')
# 2 /public_html/vendor/dotmailer/dotmailer-magento2-extension/Helper/Data.php(203): Dotdigitalgroup \ Email \ Helper \ Data-> getApiPassword (Objekt (Magento \ Store \ Model \ Website \ Interceptor))
# 3 public_html / vendor / dotmailer / dotmailer-magento2-extens in /public_html/vendor/magento/framework/Encryption/Adapter/SodiumChachaIetf.php in Zeile 68
quelle
Sieht so aus, als würden Sie den falschen Kryptoschlüssel verwenden.
Sie sollten den Schlüssel aus Ihrer Vorschau-Konfiguration behalten:
app / etc / local.xml [Magento 1.x]
Und ersetzen Sie das neue im neuen Projekt:
app / etc / env.php [Magento 2.x]
Quelle: https://github.com/magento/magento2/issues/19590
quelle
Das Ändern der Kernklasse wird überhaupt nicht empfohlen. Das Problem liegt nicht bei der Klasse
vendor/magento/framework/Encryption/Adapter/SodiumChachaIetf.php
Aber das Problem mit dem Krypta-Schlüssel wurde Ihrem hinzugefügt
app/etc/env.php
Der Grund für dieses Problem ist, dass der Kryptaschlüssel nicht übereinstimmt. Sie müssen den Datenbankspeicherauszug von einer anderen Instanz übernommen und versucht haben, mit Ihrer aktuellen Instanz ausgeführt zu werden. Zusammen mit der Datenbank müssen Sie also den Kryptaschlüssel aus demselben Setup beziehen, aus dem Sie den Datenbankspeicherauszug erhalten haben .
Aktualisieren Sie einfach die Krypta Schlüssel in env.php und es wird gut funktionieren.
Das Update besteht darin, denselben Kryptaschlüssel der Installation zu verwenden, von der aus die Datenbank verwendet wird.
Hoffe es wird erklärt.
Markiere mich, wenn es hilfreich war. Viel Spaß beim Codieren .. !!
quelle
Gehen Sie zu dieser Datei:
Und Update unter Code:
Ändern Sie einfach den Funktionsrückgabetyp: Von
zu
quelle
Mehr ein FYI noch in 2.3 Zweig entwickeln.
https://github.com/magento/magento2/blob/2.3-develop/lib/internal/Magento/Framework/Encryption/Adapter/SodiumChachaIetf.php
Offizieller Magento Fix ist dies
quelle