13
2011
Password hashing in PHP
Iedereen weet al dat je wachtwoorden geencrypteerd in de database moet opslaan. Als je dat nog niet weet: ga je schamen!
Plain text wachtwoorden opslaan is not done, en MD5 is tegenwoordig ook nauwelijks voldoende meer. Brute force attacks zouden dit kunnen achterhalen.
Een brute force attack komt eigenlijk op het volgende neer:
net zolang allerlei karakters proberen tot het uiteindelijk lukt.
Hier heb je vaak al redelijk veel geduld voor nodig maar we kunnen ze het nog iets lastiger maken door SHA1 te gebruiken. SHA1 is 160 bits encryptie en MD5 is 128 bits encryptie. SHA1 is dus moeilijker te “kraken”.
We hebben dus
echo md5("mypassword");
en
echo sha1("mypassword");
Dit zou op zich al een beveiliging kunnen zijn, maar is nog niet sterk genoeg.
De meeste inlog systemen zijn gebaseerd op wachtwoorden van gebruikers die gemiddeld 6 tot 20 karakters tellen.
Hier komt het SALT-en dus om de hoek kijken. Hiermee genereren we een willekeurige string die we voor het wachtwoord zetten.
$SALT = '(*&DNMKss89&((!'; echo md5($SALT . "mypassword");
Nu wordt het al een stuk lastiger om een wachtwoord te kraken. Een SALT string is niks meer dan een aantal karakters toegevoegd aan een wachtwoord.
Related Posts
3 Reacties + Reageer op dit artikel
Reageer
Code Library
- Apache en .htaccess (6)
- HTML en CSS (4)
- Javascript (26)
- MySQL (14)
- PHP (27)
- Zend Framework (1)
Tags
Nu online
- 0 Members.
- 5 Guests.

Een artikel door Willem





zeer interessant, bedankt
Maar zou je niet je salt ook variabel maken en bij je hash opslaan? Nog een stukje veiliger
kan idd, is ook veiliger
maar dat wordt even anders met inloggen bijv. dus voel je vrij om daar een artikel over te maken