Ini hash untuk kata sandi pelanggan di DB. Jadi MD5 & Sha1 tidak berfungsi.
UPDATE `customer_entity` SET `password` = MD5('test123') WHERE `email` = '[email protected]';
Jadi cara memperbarui kata sandi menggunakan query database. Mungkin MD5(Sha1('test123'))
?
Bagaimana kabar Magento melalui kode. pergi kevendor\magento\module-customer\Console\Command\UpgradeHashAlgorithmCommand.php
protected function execute(InputInterface $input, OutputInterface $output)
{
$this->collection = $this->customerCollectionFactory->create();
$this->collection->addAttributeToSelect('*');
$customerCollection = $this->collection->getItems();
/** @var $customer Customer */
foreach ($customerCollection as $customer) {
$customer->load($customer->getId());
if (!$this->encryptor->validateHashVersion($customer->getPasswordHash())) {
list($hash, $salt, $version) = explode(Encryptor::DELIMITER, $customer->getPasswordHash(), 3);
$version .= Encryptor::DELIMITER . Encryptor::HASH_VERSION_LATEST;
$customer->setPasswordHash($this->encryptor->getHash($hash, $salt, $version));
$customer->save();
$output->write(".");
}
}
$output->writeln(".");
$output->writeln("<info>Finished</info>");
}
Jawaban:
SQL ini berfungsi dengan baik untuk memperbarui kata sandi pelanggan. Diuji dengan Magento 2.1.5.
Cukup ganti "YOURPASSWORD" di bawah (simpan xxx: es) dan voila!
sumber
Tidak pernah berpikir untuk menggunakan SHA hashing di SQL langsung sampai aku melihat Robban 's jawaban . Saya ingin menambahkan bahwa Anda dapat menghasilkan hash dalam SQL juga, hanya menyisakan kata sandi yang harus ditambahkan. Anda dapat menggunakan variabel ( set-pernyataan ) untuk mengatur semua nilai yang diperlukan dimuka:
sumber
Saya pikir tidak mungkin mengatur kata sandi dari dalam DB. Anda membutuhkan
SHA256
hashing untuk kata sandi pelanggan. Begini cara Magento menghasilkannya:contoh kata sandi dalam DB:
ini formatnya:
A: B: C
Dimana
B =
$salt
= string acak dengan 32 karakterA =
hash('sha256', $salt . $password);
C = Versi algoritma Hashing (default = 1)
sumber
test
. Contoh PHP / MagentoAnda dapat menghasilkan hash kata sandi Magento 2 style dengan cukup mudah melalui PHP on command line (CLI).
Gunakan perintah ini untuk menghasilkan hash, sebagai contoh untuk kata sandi
test123
(ubah itu menjadi kata sandi Anda sendiri):Itu menggunakan MD5 waktu Epoch saat ini (
time()
) sebagai garam, tetapi Anda juga bisa menggunakan hal lain.Salin hash yang dihasilkan ini dan tempel ke kueri atau alat manajemen basis data Anda pada
password_hash
kolom catatan pelanggan .sumber
Coba saja permintaan mysql di bawah ini
Di mana entity_id adalah id pengguna Anda Ada 3 nilai yang dipisahkan oleh: sign In case kami
Setelah Anda menjalankan kueri ini di db dan kemudian masuk menggunakan kata sandi yang disebutkan dan kembali ke tabel database dan memeriksa kata sandi Anda akan melihat bahwa magento secara otomatis telah mengubah kata sandi menjadi kata sandi magento2 standar yaitu xxxxxx: yyyyyy: 1
sumber