Saya melakukan migrasi Magento 1 ke Magento 2.3.0 semua baik tetapi ketika saya membuat bentuk pelanggan dari kedua sisi (depan dan admin) saya mendapatkan kesalahan yang terkait dengan mendekripsi bahkan saya tidak dapat mengedit pelanggan ketika saya mengklik simpan kesalahan yang sama telah terjadi .
Kesalahan di bawah ini adalah:
Kesalahan fatal: Uncaught TypeError: Nilai pengembalian Magento \ Framework \ Enkripsi \ Adaptor \ SodiumChachaIetf :: decrypt () harus dari tipe string, boolean dikembalikan ke public_html / vendor / magento / framework / Enkripsi / Adapter / SodiumChachaIetf.php: 68 Jejak tumpukan: # 0 public_html / vendor / magento / framework / Enkripsi / Encryptor.php (358): Magento \ Framework \ Enkripsi \ Adaptor \ SodiumChachaIetf-> mendekripsi ('"\ x10 \ x88 \ x8E \ xB5 \ x851; H \ xB1 \ x12 \ xE1aaP ... ')
# 1 /public_html/vendor/dotmailer/dotmailer-magento2-extension/Helper/Data.php(744): Magento \ Framework \ Enkripsi \ Encryptor-> decrypt ('IhCIjrWFMTtIsRL ...')
# 2 /public_html/vendor/dotmailer/dotmailer-magento2-extension/Helper/Data.php(203): Dotdigitalgroup \ Email \ Helper \ Data-> getApiPassword (Obyek (Magento \ Store \ Model \ Website \ Interceptor))
# 3 public_html / vendor / dotmailer / dotmailer-magento2- extens di /public_html/vendor/magento/framework/Encryption/Adapter/SodiumChachaIetf.php di baris 68
sumber
Sepertinya Anda menggunakan kunci crypt yang salah.
Anda harus menyimpan kunci dari konfigurasi pratinjau Anda:
app / etc / local.xml [Magento 1.x]
Dan ganti yang baru di proyek baru:
app / etc / env.php [Magento 2.x]
Sumber: https://github.com/magento/magento2/issues/19590
sumber
Memodifikasi kelas inti tidak dianjurkan sama sekali. Masalahnya bukan pada kelas
vendor/magento/framework/Encryption/Adapter/SodiumChachaIetf.php
Tetapi masalah dengan kunci crypt ditambahkan ke Anda
app/etc/env.php
Alasan masalah ini adalah kunci crypt tidak cocok. Anda harus mengambil dump database dari instance lain dan mencoba menjalankannya dengan instance Anda saat ini. Jadi bersama dengan database Anda perlu mendapatkan kunci crypt dari setup yang sama di mana dari Anda mendapat dump db.
Cukup perbarui kunci crypt di env.php dan itu akan berfungsi dengan baik.
Cara mengatasinya adalah dengan menggunakan kunci crypt yang sama dari instalasi dari tempat db sedang digunakan.
Semoga ini dijelaskan.
Tandai saya jika itu membantu. Selamat coding .. !!
sumber
Buka file ini:
Dan perbarui kode di bawah ini:
Cukup ubah tipe pengembalian fungsi: Dari
untuk
sumber
Lebih banyak FYI masih di 2,3 mengembangkan cabang.
https://github.com/magento/magento2/blob/2.3-develop/lib/internal/Magento/Framework/Encryption/Adapter/SodiumChachaIetf.php
Perbaikan magento resmi adalah ini
sumber