login  Naam:   Wachtwoord: 
Registreer je!
 Tutorials

Tutorials > PHP


Gegevens:
Geschreven door:
biertie
Moeilijkheidsgraad:
Normaal
Hits:
10796
Punten:
Aantal punten:
 (2)
Aantal stemmen:
18
Stem:
Niet ingelogd
Nota's:
 Post een nota
 Lees de nota's (11)
 

Tutorial:

EncrypTEN in PHP


2. Voorwoord
2. MD5
3. SHA1
4. crc32
5. Combineren
5. Nawoord


1. Voorwoord

Waarom een tutorial over hoe je in PHP iets encrypeert?

Wel... stel dat je vertrouwenlelijke informatie op je website wilt zetten, dan zou je toch ook liever niet hebben dat iedereen daar aankan? Ok zal je zeggen, maar daarom heb ik toch een ledensysteem? Dan kan ik antwoorden: Het is veiliger als je paswoorden encrypeert.

In php heb je verschillende eenvoudige manieren om te encryperen. De ene is al wat veiliger dan de andere, en het veiligst is natuurlijk als je ze combineert. Ik ga hier alleen de belangrijkste encryptemethoden bespreken, maar er zijn er ongetwijfeld nog!



 top


2. MD5

MD5 is beschikbaar in alle PHP versies van versie 3

MD5 genereert een hexadecimaal van 32tekens terug, die je dan in een database kan steken.
MD5 is ook de meest gebruikte encryptie methode tot nu toe, maar het is zeker niet de veiligste, aangezien deze al gekraakt is.

Hoe te gebruiken? Dat is zeer eenvoudig, hier een vb:

<?php
$str
= 'paswoord';

if (
md5($str) === 'd0be2dc421be4fcd0172e5afceea3970') {
echo
"het paswoord is correct, je kan nu verder gaan ";
exit;
}
?>


 top

3. SHA1

SHA1 word ondersteunt vanaf PHP versie 4.3.0

SHA1 genereert, uit een hash, een hexadecimaal getal van 40tekens.
SHA1 is minder bekent dan MD5, maar is wel veel veiliger dan MD5, daarom raadt ik deze aan, zeker voor betaalsites.

Het gebruik is net hetzelfde als MD5:

<?php
$str
= 'paswoord';
                     
if (
sha1($str) === 'd0be2dc421be4fcd0172e5afceea3970e2f3d940') {
   echo
"wat zal het zijn voor meneer/mevrouw?";
   exit;
}
?>



 top


4. crc32

crc32 word ondersteunt vanaf PHP versie 4.1.0.

crc32 werkt volledig anders dan SHA1 of MD5; in plaats van een hexadecimaal getal te genereren, genereert het een polynoom (=veelterm!) van 32bit lengtes.
Hoewel het de minst gebruikte encryptie methode is, zal ik toch maar tonen hoe ze te gebruiken...

Ze word op dezelfde manier gebruikt als de 2 vorige:

<?php
$str
= 'paswoord';
                     
if (
crc32($str) === '59278a3') {
   echo
"wat zal het zijn voor meneer/mevrouw?";
   exit;
}
?>


 top


5. combineren

Het veiligst van al is natuurlijk om 2encryptiemethoden te combineren.

Dat is ook erg simpel, maar je moet daar toch een enkel regeltje voor in uw achterhoofd houden, namelijk, de methode die de langste string genereert eerst!
dus eerst de sha1, en dan de md5, niet omgekeerd, want een functie begint altijd bij het laatste: -eerst de string, dan md5, en dan pas sha1-, en dus krijg je een hexadecimaal getal van 40tekens.

Hoe te gebruiken? wel dat is eigenlijk erg simpel:

<?php
$str
= 'paswoord';

if (
sha1(md5($str))) === 'd0be2dc421be4fcd0172e5afceea3970e2f3d940') {
echo
"het paswoord is juist!";
exit;
}
?>

 top


6. nawoord

Zo, nu kan je al je paswoorden encryperen, en alle nodige paswoorden/gebruikersnamen/... beveiligen. wel belangrijk is dat je ze eigenlijk altijd in een controlestructuur moet verwerken, behalve natuurlijk bij het registreren.

Opmerking: de voorbeelden dat ik gebruikt heb moeten niet te kloppen met de werkelijkheid, ik heb het de encryptie zelf maar los gekozen, en komen dus hoogstwaarschijnlijk niet overeen. Maar dat hoeft ook niet, want het is maar een voorbeeld.

 

Nog vragen of opmerkingen?
Stuur mij dan een pm!

 top




« Vorige tutorial : Dubbel includen Volgende tutorial : Javascript en PHP »

© 2002-2012 Sitemasters.be - Regels - Gehost door: Vircon - Laadtijd: 0.023s