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)