Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erro ao salvar senha no banco de dados

Olá!

Ao gerar o hash e salvar a senha manualmente pelo dbal:run-sql, ela não é salva na íntegra.

A senha gerada pelo password_hash foi:

$2y$10$FGBl0tAx5QWiRG1yd7UrmuKOIej/ztjywq1WYnrW9qfNcAhPcCocW

Pesquisando aqui no fórum, tentei a solução de usar a contrabarra \ antes da cifra $, mas consegui apenas resultados diferentes:

id 2 - senha salva sem utilizar contrabarra;

id 3 - senha usando contrabarra após as cifras (sabia que não ia funcionar, mas assim o highlight do console reconheceu as variáveis como string, então fui testar);

id 4 - senha usando a contrabarra antes das cifras.

Utilizei os códigos de inserção no powershell do console integrado do VS Code.

Posso tentar contornar o problema criando um controller de cadastro de senha para não precisar fazer pelo console, mas queria um esclarecimento do por quê esse erro pode estar ocorrendo e que outra solução eu poderir recorrer pra solucionar isso

Desde já agradeço!

2 respostas
solução!

Fiz uma gambiarra que funcionou.

Concatenando as aspas entre as cifras, isolando elas do resto da hash pra não interpretar como variável:

.\vendor\bin\doctrine dbal:run-sql "INSERT INTO usuarios (email, senha) VALUES ('giulio@email.com', ""'$""2y""$""10""$""FGBl0tAx5QWiRG1yd7UrmuKOIej/ztjywq1WYnrW9qfNcAhPcCocW'"");"

Uma solução nem um pouco elegante, mas que me permite continuar com as aulas. o/

Eu só consegui fazer funcionar desse jeito também.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software