Toon posts:

[php] crypt() doet vreemd

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ok, dit is dus iets waar ik nooit eerder last van heb gehad, dus waarschijnlijk is het gewoon een domme fout van mijzelf, maar toch:

Ik gebruik de functie crypt($password) om passwords te encrypten voordat ik ze in een database stop. Altijd al gedaan. Vervolgens gebruik ik dezelfde functie om een opgegeven password te encrypten, en dat vergelijk ik dan met het encrypte password in de database om te kijken of het klopt. Nooit last mee gehad.
Nu heb ik vandaag voor het eerst het probleem dat php met de crypt() functie 4 op de 5 keer een ander, schijnbaar willekeurig password produceert, in plaats van wat er in de database staat, en wat ik ook verwacht dattie produceert.

Iemand enig idee wat hiervan de reden kan zijn?

  • Erik Jan
  • Registratie: Juni 1999
  • Niet online

Erik Jan

Langzaam en zeker

Zie PHP manual:
http://www.php.net/manual/en/function.crypt.php
Example 1. crypt() examples
code:
1
2
3
4
5
6
7
8
9
10
11
<?php
$password = crypt("My1sTpassword"); # let salt be generated

# You should pass the entire results of crypt() as the salt for comparing a
# password, to avoid problems when different hashing algorithms are used. (As
# it says above, standard DES-based password hashing uses a 2-character salt,
# but MD5-based hashing uses 12.)
if (crypt($user_input,$password) == $password) {
   echo "Password verified!";
}
?>

This can no longer be ignored.


Verwijderd

Topicstarter
Ah, ja. Ik had het net opgelost door er een standaard-salt aan toe te voegen. (zoals ik altijd al deed zonder erbij na te denken |:( )
Dit is misschien nog iets beter, dank je :)