Avatar ·

Hash seguro e salt para senhas em PHP

Olá a todos! Sou um desenvolvedor PHP iniciante e estou tentando entender o armazenamento seguro de senhas de usuários. Atualmente estou usando MD5 com salt, mas me disseram que isso não é seguro. Meu código atual é assim:\n\n```php\nfunction createPassword($password) {\n $salt = 'my_very_secret_salt_12345';\n return md5($salt . $password);\n}\n\nfunction checkPassword($password, $hash) {\n $salt = 'my_very_secret_salt_12345';\n return md5($salt . $password) === $hash;\n}\n```\n\nEu entendo que o MD5 está obsoleto, mas não sei como substituí-lo. Ouvi falar sobre bcrypt, password_hash e password_verify, mas não entendo como usá-los corretamente.\n\nPrincipais dúvidas:\n1. Como gerar um salt corretamente para cada senha?\n2. Preciso armazenar o salt separadamente e como passá-lo na verificação?\n3. Quais algo