⊗ppPmAuHs 423 of 447 menu

Wachtwoord hashen in PHP

Het is niet correct om wachtwoorden in leesbare vorm op te slaan. Een kwaadwillende hacker kan toegang krijgen tot je database en de wachtwoorden stelen.

Daarom wordt de login meestal in leesbare vorm opgeslagen, en het wachtwoord wordt gehasht met een speciale functie md5, die het wachtwoord als parameter accepteert en de hash retourneert, waarmee het oorspronkelijke wachtwoord niet kan worden hersteld.

Laten we bijvoorbeeld de hash van een willekeurige string vinden:

<?php echo md5('12345'); // geeft '827ccb0eea8a706c4c34a16891f84e7b' weer ?>

Nu moeten we onze registratie en onze autorisatie aanpassen. Om te beginnen zou ik adviseren om de tabel met gebruikers leeg te maken, omdat daar momenteel wachtwoorden in leesbare vorm staan opgeslagen, terwijl hun hashes opgeslagen moeten worden. Vervolgens zal tijdens het testen van de registratie de tabel worden gevuld met gegevens in het nieuwe formaat.

Laten we nu onze registratie aanpassen zodat er bij het opslaan van een nieuwe gebruiker in de database niet het wachtwoord, maar zijn hash wordt toegevoegd.

De beschreven aanpassing ziet er ongeveer zo uit:

<?php $login = $_POST['login']; $password = md5($_POST['password']); // converteren het wachtwoord naar zijn hash $query = "INSERT INTO users SET login='$login', password='$password'"; ?>

Laten we vergelijkbare aanpassingen doorvoeren in de autorisatie:

<?php $login = $_POST['login']; $password = md5($_POST['password']); // converteren het wachtwoord naar zijn hash $query = "SELECT * FROM users WHERE login='$login' AND password='$password'"; ?>

Voer de wijzigingen door in de registratie rekening houdend met hashing, registreer een paar nieuwe gebruikers, en zorg ervoor dat ze zijn toegevoegd aan de database met gehashte wachtwoorden.

Voer de wijzigingen door in de autorisatie rekening houdend met hashing, probeer in te loggen onder de eerder geregistreerde gebruikers.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren