Beschrijving
string
crypt
( string str [, string salt])
crypt(
)
encrypteert
een
string
geburikmakend
vande
standaard
Unix
DES
encryptie
methode
.
Argumenten
zijn
de
string
die
gecrypteerd
moet
worden
en
een
optionele
twee-karakter
salt
string
om
de
encryptie
op
te
baseren
.
Zie
de
Unix
man
page
voor
je
crypt
functie
en
meer
informatie
.
Als
het
salt
argument
niet
wordt
meegegeven
zal
de
string
willekeurig
gegenereerd
worden
door
PHP
.
Sommige
operating
systems
ondersteunen
meer
dan
een
type
encryptie
.
Soms
is
zelfs
de
standaard
DES
encryptie
vervangen
door
een
MD5
gebaseerd
encryptie
algoritme
.
Het
encryptie
type
wordt
getriggerd
door
het
salt
argument
.
Op
het
moment
van
installeren
bepaalt
PHP
de
mogelijkheden
van
de
crypt
functie
en
zal
salts
accepteren
voor
andere
encryptie
types
.
Als
er
geen
salt
beschikbaar
is
zal
PHP
zelf
een
uit
2
karakters
bestaande
DES
salt
genereren
,
tenzij
het
default
encryptie
type
op
het
systeem
MD5
is
,
in
dat
geval
zal
een
random
MD5
compatibele
salt
gegenereerd
worden
.
PHP
maakt
een
constante
aan
genaamd
CRYPT_SALT_LENGTH
die
je
vertelt
of
een
regulare
2-karakter
salt
of
dat
een
12-karakter
MD5
van
toepassing
is
.
In
het
geval
je
de
meegegeven
salt
gebruikt
,
wees
er
dan
van
bewust
dat
de
salt
1
keer
gegenereerd
wordt
.
Als
je
de
functie
recursief
aanspreekt
,
kan
dit
gevolgen
hebben
voor
de
appearance
en
,
tot
op
zekere
hoogte
,
de
veiligheid
.
De
standaard
DES
encryptie
crypt(
)
gebruikt
de
salt
als
de
eerste
2
karakters
van
de
output
.
Ook
gebruikt
het
slechts
de
eerste
acht
karakters
van
str
,
dus
langere
strings
die
met
dezelfde
acht
karakters
beginnen
zullen
hetzelfde
resultaat
opleveren
(
als
hetzelfde
salt
wordt
gebruikt
)
.
Op
systemen
waar
de
crypt(
)
functie
meerdere
encryptie
types
ondersteunt
,
de
volgende
constanten
zijn
gezet
op
waardes
0
of
1
,
afhankelijk
van
het
feit
of
het
gegeven
type
beschikbaar
is
:
-
CRYPT_STD_DES
-
Standaard
DES
encryptie
met
een
2-karakter
SALT
-
CRYPT_EXT_DES
-
Uitgebreide
DES
encryptie
met
een
9-karakter
SALT
-
CRYPT_MD5
-
MD5
encryptie
met
een
12-karakter
SALT
beginnend
met
$1$
-
CRYPT_BLOWFISH
-
Uitgebreide
DES
encryption
met
een
16-karakter
SALT
startende
met
$2$
Opmerking
:
Er
is
geen
decrypt
functie
,
omdat
crypt(
)
gebruikmaakt
van
een
one-way
algoritme
.
Voorbeeld
1
.
crypt(
)
voorbeelden
?php
$password
=
crypt(
"My1sTpassword")
;
#
salt
wordt
gegenereerd
#
Je
moet
de
het
gehele
resultaat
van
crypt
gebruiken
als
salt
om
een
#
wachtwoord
te
vergelijken
,
om
problemen
te
voorkomen
als
je
verschillende
#
hashing
algoritmen
gebruikt
.
(Zoals
hierbove
beschreven
,
gebruikt
een
#
standaard
DES-gebaseerde
wachtwoord
hashing
een
2-karakter
salt
,
maar
#
MD5-based
hashing
gebruikt
er
12
.
if
(crypt($user_input,$password
)
==
$password
)
{
echo
"Password
is
geverifieerd.
!"
;
}
?
|
|
Zie
ook
:
md5(
)
en
de
Mcrypt
extensie
.