⊗ppPmAuHs 423 of 447 menu

Hash de senha em PHP

Armazenar a senha em texto simples está incorreto. Um hacker mal-intencionado pode obter acesso ao seu banco de dados e roubar as senhas.

Portanto, geralmente o login é armazenado em texto simples, e a senha tem seu hash calculado por uma função especial md5, que recebe a senha como parâmetro e retorna seu hash, a partir do qual não é possível recuperar a senha original.

Vamos, por exemplo, encontrar o hash de alguma string:

<?php echo md5('12345'); // exibirá '827ccb0eea8a706c4c34a16891f84e7b' ?>

Agora precisamos modificar nosso registro e nosso processo de login. Para começar, eu recomendaria limpar a tabela de usuários, pois nela atualmente as senhas estão armazenadas em texto simples, mas deveriam armazenar seus hashes. Então, durante o teste de registro, a tabela será preenchida com dados no novo formato.

Agora vamos ajustar nosso registro para que, ao salvar um novo usuário no banco, seja adicionado não a senha, mas seu hash.

A alteração descrita será algo assim:

<?php $login = $_POST['login']; $password = md5($_POST['password']); // transforma a senha em seu hash $query = "INSERT INTO users SET login='$login', password='$password'"; ?>

Vamos fazer alterações semelhantes no login:

<?php $login = $_POST['login']; $password = md5($_POST['password']); // transforma a senha em seu hash $query = "SELECT * FROM users WHERE login='$login' AND password='$password'"; ?>

Faça as alterações no registro levando em conta o hash, registre alguns novos usuários, verifique se eles foram adicionados ao banco de dados com as senhas hasheadas.

Faça as alterações no login levando em conta o hash, tente fazer login com os usuários registrados anteriormente.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar