Ho creato queste due funzioni per crittare una password:
Codice PHP:
function vpopmail_RandomLTR() {
$rnd = rand(0,63);
if ($rnd<26) $retval = chr($rnd+ord('a'));
if ($rnd>25) $retval = chr($rnd-26+ord('A'));
if ($rnd>51) $retval = chr($rnd-52+ord('0'));
if ($rnd==62) $retval = ';';
if ($rnd==63) $retval = '.';
return $retval;
}
function vpopmail_RandomSalt() {
$salt = '$1$';
for ($k=0; $k<5; $k++) {
$salt .= vpopmail_RandomLTR();
}
$salt .= '0';
return $salt;
}
$boh = vpopmail_RandomSalt();
echo "INSERT INTO tabella (password) VALUES (ENCRYPT('la_password','$boh'));";
Così facendo genero la stringa SQL che si occupa di generare un account con la relativa password. Ora, come faccio a controllare la password che prendo da un form per verificare che sia guale a quella inserita nel db con la funzione ENCRYPT elaborata con quelle due funzioni?