In questo tutorial vedermo come criptare in php stringhe con la funzione sha1. Con la nuova funzione di criptazione offerta da php, si possono creare stringhe che non possono essere decriptate. Infatti non esiste una funzione per riconvertirle al testo originario.
L'unica nuova funzione è appunto

sha1($nome_variabile_da_criptare)


Andiamo ora sulla pratica...

Vediamo ora un esempio di criptazione per creare una rudimentale area login con dei file. Dobbiamo ricordare che questa area sarà si rudimentale, ma è molto sicura.

Passiamo al codice:

Registrazione nuovi utenti <br></br>
<form action="nuovo_utente.php" method="post">
Username: <input size="40" name="username" type="text"><br></br>
Password: <input size="40" name="password" type="password"><br></br>
 <input size="40" name="Login" type="submit"><br>
</form>
<?
if ($username and $password <> "") {  //verifica l'esistenza dell'username e della password
if (file_exists($username) == true) { //verifica che non esiste un file con lo stesso nome e quindi che non si registrino due utenti con nickname uguali
echo "Username già esistente! Provare con un altro username.";
}else{
$password2=sha1($password);  //cripta con sha1 la password
$var=fopen($username,"w");  //salva la password criptata in un file con il nome dell'username
fwrite($var, $password2);
echo"Registrazione effettuata con successo";  //Stampa a schermo che la registrazione è avvenuta con successo
}
}
?> 


Per concludere ed essere completi, vediamo anche come loggare un utente con questo semplice (per alcuni) e difficile (per altri) codice.

<form action="login.php" method="post">
Username: <input size="40" name="username" type="text"><br></br>
Password: <input size="40" name="password" type="password"><br></br>
 <input size="40" name="Login" type="submit"><br>
</form>
<?
if ($username and $password <> "") {  //controlla che siano stati scritti sia username e password
if (file_exists($username) == true) {  //controlla se il file esiste (quindi l'username è corretto in tal caso)
$var=fopen($username,"r");  
$var_lettura=fread($var,255);
$password_login=sha1($password);  //cripta la password immessa dall'utente che si deve loggare
if ($password_login == $var_lettura) {  //controlla le due password criptate e se sono uguali, stampa a schermo che il login è avvenuto con successo
echo "Login effettuato con successo!";
}else{
echo "Login fallito";  //altrementi il login fallirà...
}
}
else{
echo "Login fallito!";
}
}
?>