use um padrão de criptografia forte como o SHA-2 ou SHA-3
Não sugiro utilizar SHA-2
nem SHA-3
para senhas, pois eles são algoritmos muito rápidos. Sugiro utilizar um algoritmo que seja projetado para ser devagar (ao consumir muito processamento) e/ou outros recursos do sistema, exemplo:
Em paralelo, nesta parte do seu artigo:
ferrari123 != ferrari123
Acho que faltou o salt
neste exemplo, pois as duas strings são iguais.
Ao final, sugiro ler esta publicação aqui do rafael
:
Armazenamento seguro de senhas: Um guia prático (texto puro, hash, salt e mais)