php

Gebruik van hash-functies in PHP

Gebruik van hash-functies in PHP
Gegevensbeveiliging is erg belangrijk voor elke toepassing. De ongeoorloofde toegang tot de gegevens kan de waardevolle gegevens van de applicatie beschadigen. Als de gegevens kunnen worden beveiligd door de juiste codering toe te passen, kan onbevoegde toegang tot de gegevens worden voorkomen. Het wachtwoord van de nieuwe gebruiker moet bijvoorbeeld worden gecodeerd voordat het in de database wordt opgeslagen om ongeoorloofde toegang van de gebruiker gemakkelijk te voorkomen. Een manier van versleutelen is om de hash-functie te gebruiken. Er zijn veel ingebouwde hash-functies in PHP om de gegevens te versleutelen. Het versleutelt de gegevens zonder de oorspronkelijke betekenis ervan te veranderen. Enkele veelgebruikte hashfuncties van PHP zijn md5(), sha1() en hash(). Het gebruik van deze functies wordt uitgelegd in deze tutorial.

md5() Functie

md5()-functie gebruikt Message-Digest-algoritme voor codering. Deze functie berekent de md5-hashwaarde van de oorspronkelijke waarde. De syntaxis van deze functie wordt hieronder gegeven:.

Syntaxis:

string md5 (string $string, [bool $raw])

Deze functie kan twee argumenten aannemen:. Het eerste argument is verplicht dat wordt gebruikt om de tekenreekswaarde aan te nemen die zal worden versleuteld. Het tweede argument is optioneel en wordt gebruikt om elke Booleaanse waarde op te slaan. De functie retourneert een 32-bits hexadecimaal getal als het optionele argument niet wordt gebruikt, en retourneert een 16-bits hexadecimaal getal als de optionele waarde TRUE is.

Voorbeeld: gebruik van md5()

Het volgende voorbeeld toont het gebruik van de md5() functie om alle gegevens te versleutelen. Maak een PHP-bestand met het volgende script om te zien hoe deze functie werkt.

In het script, $original_string variabele wordt gebruikt om een ​​tekenreekswaarde op te slaan die later wordt versleuteld met behulp van de md5() functie. Zowel de originele waarde als de versleutelde waarden worden afgedrukt na het uitvoeren van het script.

//Definieer een tekenreekswaarde
$original_string = 'LinuxHint';
//Druk de originele waarde af
echo "

De originele gegevens:

". $original_string;
//Versleutel de tekenreekswaarde
$encrypted_string = md5($original_string);
// Druk de versleutelde waarde af
echo "

De versleutelde gegevens na gebruik van md5() :

$encrypted_string";
?>

Uitgang:
De volgende uitvoer zal verschijnen nadat het script vanaf de server is uitgevoerd:. Er wordt geen optioneel argument gebruikt in de functie md5(). De uitvoer toont dus 32-bits hexadecimale getallen als uitvoer.

sha1() Functie

Deze functie gebruikt Secure Hash Algorithm 1 voor codering. De syntaxis van deze functie wordt hieronder gegeven:.

Syntaxis:

string sha1 (string $string, [bool $raw])

Deze functie kan twee argumenten aannemen, zoals het hash-algoritme md5(). Het eerste argument neemt de tekenreekswaarde die wordt versleuteld. Het optionele argument heeft elke Booleaanse waarde. Als er geen optioneel argument wordt doorgegeven, retourneert de functie een hexadecimaal getal van 40 tekens. Als de optionele waarde is ingesteld op TRUE, retourneert de functie onbewerkte binaire gegevens.

Voorbeeld: gebruik van sha1()

Het volgende voorbeeld toont het gebruik van de sha1() functie om alle gegevens te versleutelen. Maak een PHP-bestand met het volgende script om te zien hoe deze functie werkt.

In het script, $original_string variabele wordt gebruikt om een ​​tekenreekswaarde op te slaan die later wordt versleuteld met behulp van de sha1() functie met en zonder het optionele argument. Zowel de originele waarde als de versleutelde waarden worden afgedrukt na het uitvoeren van het script.

//Definieer een tekenreekswaarde
$original_string = 'LinuxHint';
//Druk de originele waarde af
echo "

De originele gegevens:

". $original_string;
//Versleutel de tekenreekswaarde
$encrypted_string = sha1($original_string);
// Druk de versleutelde waarde af
echo "

De versleutelde gegevens na gebruik van sha1() :

$encrypted_string";
// Versleutel de tekenreekswaarde
$encrypted_string2 = sha1($original_string,TRUE);
// Druk de versleutelde waarde af
echo "

De versleutelde gegevens na gebruik van sha1() met optioneel argument:

$encrypted_string2";
?>

Uitgang:
De volgende uitvoer zal verschijnen nadat het script vanaf de server is uitgevoerd:. Het toont een hexadecimaal getal van 40 tekens wanneer er geen optioneel argument wordt gebruikt in de sha1() functie en de uitvoer toont onbewerkte gegevens wanneer TRUE wordt gebruikt in de optionele argumentwaarde van de sha1() functie.

hash-functie

de hash()-functie wordt gebruikt om de hash-waarde van de specifieke string te genereren op basis van een hash-algoritme. De syntaxis van deze functie wordt hieronder gegeven:.

string of false hash (string $algoritme, string $data [, bool $binary = false])

Deze functie kan drie argumenten aannemen:. Het eerste argument krijgt de algoritmenaam die zal worden gebruikt om de hash-waarde te genereren van de tekenreekswaarde die in het tweede argument wordt gegeven. Het derde argument is optioneel. Deze functie retourneert hexadecimale cijfers in kleine letters als de optionele waarde onwaar is en retourneert onbewerkte binaire gegevens als de optionele waarde waar is. Er zijn veel hash-algoritmen in PHP om hash-gegevens te genereren met behulp van de hash()-functie. hash_alogs() functie kan worden gebruikt om de lijst met bestaande hash-algoritmen te achterhalen.

Voorbeeld: gebruik van hash()

Het volgende voorbeeld toont het gebruik van de functie hash() om de hash-waarde te genereren met behulp van een bepaald hash-algoritme. Maak een PHP-bestand met het volgende script om te zien hoe deze functie werkt.

'ripemd160' hashing-algoritme wordt gebruikt in de hash()-functie om de hash-waarde te genereren. De functie hash() wordt gebruikt met en zonder het optionele argument in het script. Zowel de originele waarde als de versleutelde waarden worden afgedrukt na het uitvoeren van het script.

//Definieer een tekenreekswaarde
$original_string = 'LinuxHint';
//Druk de originele waarde af
echo "

De originele gegevens:

". $original_string;
//Versleutel de tekenreekswaarde
$encrypted_string = hash('ripemd160', $original_string);
// Druk de versleutelde waarde af
echo "

De versleutelde gegevens na gebruik van hash() :

$encrypted_string";
//Versleutel de tekenreekswaarde
$encrypted_string2 = hash('ripemd160', $original_string, TRUE);
// Druk de versleutelde waarde af
echo "

De versleutelde gegevens na gebruik van hash() met optioneel argument:

$encrypted_string2";
?>

Uitgang:
De volgende uitvoer zal verschijnen nadat het script vanaf de server is uitgevoerd:. Het toont het hexadecimale getal als een hash-waarde wanneer er geen optioneel argument wordt gebruikt, en de onbewerkte gegevens wanneer het optionele argument wordt gebruikt in de hash()-functie.

Conclusie

De belangrijke gegevens zijn vereist versleuteling voor het maken van een webtoepassingsbeveiliging. In deze tutorial worden verschillende manieren getoond om gegevens te versleutelen door gebruik te maken van meerdere hash-functies van PHP. Het gebruik van drie ingebouwde hash-functies wordt in deze zelfstudie uitgelegd om de versleutelde gegevens te genereren met behulp van het PHP-script.

OpenTTD-zelfstudie
OpenTTD is een van de meest populaire simulatiegames voor bedrijven die er zijn. In dit spel moet je een geweldig transportbedrijf creëren. U begint e...
SuperTuxKart voor Linux
SuperTuxKart is een geweldige titel die is ontworpen om je de Mario Kart-ervaring gratis te bieden op je Linux-systeem. Het is behoorlijk uitdagend en...
Strijd om Wesnoth Zelfstudie
The Battle for Wesnoth is een van de meest populaire open source strategiespellen die je op dit moment kunt spelen. Dit spel is niet alleen al heel la...