J'ai fait la migration de Magento 1 vers Magento 2.3.0 tout va bien mais quand je crée le formulaire client des deux côtés (avant et administrateur) j'ai eu l'erreur liée au déchiffrement même je ne peux pas éditer le client quand je clique sur enregistrer la même erreur s'est produite .
L'erreur ci-dessous est:
Erreur fatale: TypeError non capturé: valeur de retour de Magento \ Framework \ Encryption \ Adapter \ SodiumChachaIetf :: decrypt () doit être de la chaîne de type, booléen renvoyé dans public_html / vendor / magento / framework / Encryption / Adapter / SodiumChachaIetf.php: 68 Trace de pile: # 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 (Object (Magento \ Store \ Model \ Website \ Interceptor))
# 3 public_html / vendor / dotmailer / dotmailer-magento2-extens dans /public_html/vendor/magento/framework/Encryption/Adapter/SodiumChachaIetf.php sur la ligne 68
la source
On dirait que vous utilisez la mauvaise clé de cryptage.
Vous devez conserver la clé de la configuration de vos aperçus:
app / etc / local.xml [Magento 1.x]
Et remplacez le nouveau dans le nouveau projet:
app / etc / env.php [Magento 2.x]
Source: https://github.com/magento/magento2/issues/19590
la source
La modification de la classe principale n'est pas recommandée du tout. Le problème n'est pas avec la classe
vendor/magento/framework/Encryption/Adapter/SodiumChachaIetf.php
Mais le problème avec la clé de cryptage ajoutée à votre
app/etc/env.php
La raison de ce problème est que la clé de cryptage n'est pas compatible. Vous devez avoir pris le vidage de la base de données à partir de toute autre instance et avoir essayé de l'exécuter avec votre instance actuelle. Ainsi, avec la base de données, vous devez obtenir la clé de cryptage de la même configuration d'où vous avez obtenu le vidage de la base de données.
Mettez simplement à jour la clé de cryptage dans env.php et cela fonctionnera bien.
Le correctif consiste à utiliser la même clé de chiffrement de l'installation à partir de laquelle db est utilisé.
J'espère que c'est expliqué.
Marquez-moi si cela vous a été utile. Codage heureux .. !!
la source
Accédez à ce fichier:
Et mettez à jour le code ci-dessous:
Modifiez simplement le type de retour de la fonction:
à
la source
Plus un FYI encore en 2.3 branche de développement.
https://github.com/magento/magento2/blob/2.3-develop/lib/internal/Magento/Framework/Encryption/Adapter/SodiumChachaIetf.php
Le correctif officiel de Magento est le suivant
la source