Realizzazione by siti.web.firenze e web.at.work

contatti
realizzazione siti web

PHP controllo stringhe | md5 e sha1

Utilizzare crypt() con le stringhe è un'operazione simile a quella che prevede di applicare una chiave a qualche cosa. È facile determinare se una stringa corrisponde con il valore di controllo ma non è altrettanto semplice ricreare la stringa originale a partire dal valore di controllo.

<?php
$pass = (isset($_GET['pass'])) ? $_GET['pass'] : '';


$md5pass = '6958b43cb096e036f872d65d6a4dc01b';
$sha1pass = '61c2feed11e0e53eb8e295ab8da78150be12f301';


if (sha1($pass) === $sha1pass) {
echo 'Login successful.';
} else {
echo 'Login failed.';
}


// Alternatively, using MD5:
// if (md5($pass) === $md5pass) {
// echo 'Login successful.';
// } else {
// echo 'Login failed.';
// }
?>

Questi due algoritmi, la cui finalità è quella di effettuare un controllo di questo tipo, si chiamano Secure Hash Algorithm 1 (SHA1) e Message Digest Algorithm (MD5): entrambi creano un valore di controllo, o /zash. La principale differenza tra questi due algoritrni e quello utilizzato in DES/ cryptO è che il valore di controllo SHA1 e MD5 di una stringa è sempre lo stesso: di conseguenza è molto semplice verificare i dati.

Come già detto precedentemente (verificare username e password), la finalità è quella di validazione di una password fornita dall'utente usando GET. Nuovamente, la password corretta è "TopSecret" con i seguenti hashes:

 

Quando vengono calcolati gli hashes di MD5 o SHA 1 di un file. non è richiesta nessuna chiamata né a file_get_contents() né ad altre funzioni sui file; PHP mette a disposizione due funzioni in grado di calcolare i valori di hash di un file (si occupano di aprire e leggere i dati del file):
  • md5_file()
  • sha l_file()

 

separatore

Informazioni sull'autore

Sergio Ferraiolo

foto
Descrizione:

Web Master di webdesignfirenze.com, titolare di web.at.work che ha realizzato il sito.

Mansioni: Programmatore, web designer e Analista