É hash para a senha do cliente no banco de dados. Portanto, o MD5 & Sha1 não está funcionando.
UPDATE `customer_entity` SET `password` = MD5('test123') WHERE `email` = '[email protected]';
Então, como atualizar a senha usando a consulta ao banco de dados. Pode ser MD5(Sha1('test123'))
?
Como o Magento está fazendo via código. vamos paravendor\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>");
}
Respostas:
Esse SQL funciona bem para atualizar a senha do cliente. Testado com Magento 2.1.5.
Apenas mude "YOURPASSWORD" abaixo (mantenha o xxx: es) e pronto!
fonte
Nunca pensei em usar o hash SHA no SQL diretamente até ver a resposta de Robban . Gostaria de acrescentar que você também pode gerar o hash no SQL, deixando apenas a senha que deve ser adicionada. Você pode usar variáveis ( set-statement ) para definir todos os valores necessários antecipadamente:
fonte
Eu não acho que é possível definir a senha de dentro do banco de dados. Você precisa de
SHA256
hash para senhas de clientes. Veja como o Magento o gera:exemplo de senha no DB:
este é o formato:
ABC
Onde
B =
$salt
= sequência aleatória de 32 caracteresA =
hash('sha256', $salt . $password);
C = Versão do algoritmo de hash (padrão = 1)
fonte
test
. Exemplo de PHP / MagentoVocê pode gerar um hash de senha no estilo Magento 2 com bastante facilidade via PHP na linha de comando (CLI).
Use este comando para gerar um hash, como exemplo para senha
test123
(altere isso para sua própria senha):Ele está usando o MD5 do atual Epoch time (
time()
) como um sal, mas você também pode usar qualquer outra coisa.Copie esse hash gerado e cole-o em sua ferramenta de gerenciamento de consulta ou banco de dados na
password_hash
coluna de um registro de cliente .fonte
Apenas tente a consulta mysql abaixo
Onde entity_id é seu ID de usuário Existem 3 valores separados por: sign No nosso caso
Depois de executar esta consulta no banco de dados e, em seguida, efetue login usando a senha mencionada, volte à tabela do banco de dados e verifique a senha, você notará que o magento alterou automaticamente a senha para a senha padrão do magento2, como xxxxxx: aaaaaa: 1
fonte