Funzione PHP Sha1

Funzione PHP Sha1
PHP ha molte funzioni integrate per proteggere i dati dell'applicazione. L'algoritmo di hashing è uno dei modi per proteggere i dati della stringa creando una stringa hash dei dati stringa. Lo sha1 () è una funzione integrata di PHP per creare la stringa hash di qualsiasi valore di stringa. La forma completa di sha1 è l'algoritmo hash sicuro 1. Genera una stringa hash che si chiama Digest di messaggio. I diversi usi di questa funzione sono mostrati in questo tutorial.

Sintassi:
sha1 (string $ string, bool $ binary = false): stringa

Il primo argomento è obbligatorio e la stringa hash viene generata in base al primo valore dell'argomento. Il secondo argomento è facoltativo che contiene un valore booleano. Se il valore del secondo argomento è vero, viene generata una stringa di hash di 20 caratteri di dati in formato binario. Se il secondo argomento è falso, viene generata una stringa di hash di 40 caratteri in formato esadecimale. Restituisce il valore hash della stringa utilizzata nel primo argomento della funzione.

Diversi esempi di funzione sha1 ()

I diversi usi della funzione Sha1 () sono mostrati in questa parte del tutorial usando più esempi.

Esempio 1: usando la funzione sha1 () senza argomento opzionale

Crea un file PHP con il seguente script che crea un valore di hash lungo 40 caratteri usando la funzione sha1 () senza l'argomento opzionale. Il valore della stringa originale e il valore hash generato sono stampati in seguito.

// Assegna un valore stringa
$ strval = "Messaggio di test";
echo "La stringa originale: $ strval
";
// Stampa la stringa hash generata
Echo "La stringa hash:".sha1 ($ strval);
?>

Produzione:
Viene visualizzato il seguente output dopo l'esecuzione dello script precedente:

Esempio 2: usando la funzione sha1 () con argomento opzionale

Crea un file PHP con il seguente script che crea il valore hash usando la funzione sha1 () con l'argomento opzionale. Quaranta (40) caratteri, il valore hash viene generato quando Falso viene utilizzato nel valore dell'argomento opzionale della funzione sha1 (). Vengono venti (20) caratteri, il valore di hash viene generato quando VERO viene utilizzato nel valore dell'argomento opzionale della funzione sha1 (). Il valore della stringa originale, il valore di hash generato di 40 caratteri e 20 caratteri vengono stampati in seguito.

// Assegna un valore stringa
$ strval = "Messaggio di test";
echo "La stringa originale: $ strval
";
// Stampa la stringa hash generata
Echo "La stringa hash di 40 caratteri:".sha1 ($ strval, false)."
";
// Stampa la stringa hash generata
Echo "La stringa hash di 20 caratteri:".Sha1 ($ Strval, True)."
";
?>

Produzione:
Viene visualizzato il seguente output dopo l'esecuzione dello script precedente:

Esempio 3: controllo del valore hash della stringa particolare

Crea un file PHP con il seguente script che controlla se un valore hash di una stringa è corretto o errato. Il valore della stringa viene prelevato dal parametro URL e il valore hash di tale valore di stringa viene confrontato con un particolare valore di hash per confermare se il valore della stringa preso è corretto o meno.

if (ISSET ($ _ get ['msg'])

// genera il valore hash della stringa letta dall'URL
$ strval = sha1 ($ _ get ['msg']);
// Stampa il valore della stringa originale
Echo "La stringa originale:".$ _Get ['msg']."
";
// Controlla il valore hash del valore della stringa corrispondente
if ($ strval == '640ab2bae07bedc4c163f679a746f7ab7fb5d1fa')
eco "valore hash corretto";
altro
Echo "Valore hash sbagliato.";

altro
Echo "Il valore della stringa non è fornito.";
?>

Produzione:
Viene visualizzato il seguente output dopo l'esecuzione dello script precedente senza il parametro URL:

Viene visualizzato il seguente output dopo l'esecuzione dello script precedente fornendo la stringa valida nel parametro URL:

Esempio 4: usando la funzione sha1 () per la convalida

La funzione Sha1 () può essere utilizzata per convalidare i dati. Il modo di convalidare le informazioni di accesso utilizzando la funzione Sha1 () è mostrato in questo tutorial. Crea un file HTML chiamato login.html con il seguente script che prende il nome utente e la password dall'utente utilizzando un modulo HTML. I dati del modulo vengono analizzati utilizzando un file PHP chiamato login.PHP.

login.html



Login



Modulo di accesso














Crea un file PHP chiamato Accedi.PHP con il seguente script. I valori del nome utente e della password inviati dal modulo sono archiviati in due variabili. Successivamente, il valore del nome utente e della password viene verificato. Se il nome utente contiene il "amministratore"Valore e la password contiene il"SecretPassword"Valore, il"Utente valido"Il messaggio è stampato. Altrimenti, il "Utente non valido"Il messaggio è stampato.

login.PHP

// Controlla se la variabile è impostata o non impostata
if (ISSET ($ _ POST ['un']) && ISSET ($ _ POST ['PWD']))

$ username = $ _post ['un'];
$ password = $ _post ['pwd'];
$ hash_password = 'e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4';
// controlla se il valore inviato è vuoto o meno
Se ($ nome utente != "" && $ password != "")

// Verifica se i valori inviati sono validi o non validi
if ($ username == 'admin' && sha1 ($ password) == $ hash_password)
echo "utente valido.";
altro
Echo "Utente non valido.";

altro
Echo "Nome utente o password non può essere vuoto.";

?>

Produzione:
Viene visualizzato il seguente output dopo l'esecuzione del login.html Dal browser:

Digitare il nome utente e la password validi nel modulo di accesso e fare clic su Login pulsante.

Viene visualizzato il seguente output per il nome utente e la password validi:

Viene visualizzato il seguente output per il nome utente o la password non validi:

Conclusione

I diversi usi della funzione Sha1 () sono descritti in questo tutorial usando questa funzione in più modi. PHP ha molte altre funzioni come la funzione sha1 () per generare i valori di hash ma questa funzione è così semplice da usare per convalidare i dati o controllare l'integrità dei dati. Speriamo che questo tutorial aiuti gli utenti PHP a sapere come utilizzare correttamente la funzione sha1 ().