Hur man använder crypt()-funktionen i PHP

Hur Man Anvander Crypt Funktionen I Php



De krypta() funktion i PHP är ett användbart verktyg för kryptografi som används för att skapa en hash av den givna strängen med hjälp av hashalgoritmer som Standard DES, Extended DES, MD5, Blowfish, SHA-256 och SHA-512. Denna funktion används för enkelriktad hashing och kryptering av strängar. Det krävs två argument: strängen som ska hashas och ett valfritt saltvärde, som används för att lägga till komplexitet till hashprocessen och göra den säkrare.

På flera operativsystem fungerar den här funktionen olika. Under installationen undersöker PHP de tillgängliga och rekommenderade algoritmerna. Denna funktion ingår i PHP version 4 och senare och accepterar en obligatorisk och en valfri parameter.

Syntax

En enkel syntax följt av krypta() funktionen ges nedan:









krypta ( $str , $salt )

Funktionen accepterar två parametrar:



  • $str: Denna parameter är en sträng som du vill kryptera. Denna sträng kan trunkeras under hashgenerering, vilket innebär att den inte tar hänsyn till hela strängen baserat på hashtypen.
  • $salt: Denna parameter används för att välja hashmetoden.

Denna funktion returnerar en krypterad sträng.



Hur använder man crypt()-funktionen i PHP?

De krypta() funktion i PHP kan användas med olika kryptografiska hashalgoritmer för att kryptera en sträng; här är några exempel på hur man använder krypta() med olika hashalgoritmer:





Låt oss förklara dessa metoder i detalj.

1: Använder CRYPT_STD_DES

De CRYPT_STD_DES är en av hashalgoritmerna som stöds av krypta() funktion i PHP som använder Standard DES (Data Encryption Standard) algoritm för kryptering. När man använder CRYPT_STD_DES måste du ange ett saltvärde på två tecken som det andra argumentet till krypta() fungera. Saltvärdet anger nyckelvariationen och komplexiteten i krypteringsprocessen.



Till exempel:



om ( CRYPT_STD_DES == 1 ) {

eko 'Standard DES: ' . krypta ( 'välkommen till linuxhint' , 'str' ) . ' \n ' ;

} annan {

eko 'Stöder inte standard DES. \n ' ;

}

?>

2: Använder CRYPT_EXT_DES

De CRYPT_EXT_DES är en annan hashalgoritm som stöds av krypta() funktion som använder Extended DES (Data Encryption Standard) algoritm för kryptering. Utökad DES är en förlängning av den ursprungliga DES-algoritmen, vilket ger ett större nyckelutrymme och förbättrad säkerhet.

Att använda CRYPT_EXT_DES måste du ange ett saltvärde som börjar med _J9 följt av ytterligare tecken.

Till exempel:



om ( CRYPT_EXT_DES == 1 ) {

eko 'Utökad DES: ' . krypta ( 'välkommen till linuxhint' , '_J9..dutta' ) . ' \n ' ;

} annan {

eko 'Stöder inte Extended DES. \n ' ;

}

?>

3: Använder CRYPT_MD5

De CRYPT_MD5 är en av hashalgoritmerna som stöds av krypta() funktion i PHP som använder MD5 (Message Digest Algorithm 5 producerar ett 128-bitars (16-byte) hashvärde ) algoritm för kryptering.

Att använda CRYPT_MD5 måste du ange ett saltvärde som börjar med $1$ följt av några karaktärer.

Till exempel:



om ( CRYPT_MD5 == 1 ) {

eko 'MD5: ' . krypta ( 'välkommen till linuxhint' , '$1$försöker$' ) . ' \n ' ;

} annan {

eko 'Stöder inte MD5. \n ' ;

}

?>

4: Använder CRYPT_BLOWFISH

De CRYPT_BLOWFISH är en allmänt rekommenderad hashalgoritm som stöds av krypta() funktion i PHP som använder Blowfish-algoritmen för kryptering. Blowfish är ett blockchiffer med symmetrisk nyckel som är känt för sin starka säkerhet. Att använda CRYPT_BLOWFISH måste du ange ett saltvärde, som börjar med $2y$ eller $2a$ , följt av en tvåsiffrig kostnadsparameter och sedan det faktiska saltvärdet.

Till exempel:



om ( CRYPT_BLOWFISH == 1 ) {

eko 'Blåsfisk: ' .

krypta ( 'välkommen till linuxhint' , '$2y$12$mkstringexforsaltparam' ) .

' \n ' ;

} annan {

eko 'Stöd inte Blowfish. \n ' ;

}

?>

5: Använder CRYPT_SHA256

En annan hashalgoritm som stöds av krypta() funktionen är CRYPT_SHA256 som använder SHA-256-algoritmen (producerar ett 256-bitars (32-byte) hashvärde) för kryptering. Att använda CRYPT_SHA256 måste du ange ett saltvärde, som börjar med $5$ , följt av en tvåsiffrig kostnadsparameter och sedan det faktiska saltvärdet

Till exempel:



om ( CRYPT_SHA256 == 1 ) {

eko 'SHA-256: ' .

krypta ( 'välkommen till linuxhint' , '$5$mkstringexforsaltparam$' ) .

' \n ' ;

} annan {

eko 'Stöder inte SHA256. \n ' ;

}

?>

6: Använder CRYPT_SHA512

De CRYPT_SHA512 är en annan användbar hashalgoritm som stöds av krypta() funktion i PHP som använder SHA-512 algoritm för kryptering. SHA-512 är en mycket använd kryptografisk hashfunktion som genererar ett 512-bitars (64-byte) hashvärde. Att använda CRYPT_SHA512 måste du ange ett saltvärde, som börjar med $6$ , följt av en tvåsiffrig kostnadsparameter och sedan det faktiska saltvärdet

Till exempel:



om ( CRYPT_SHA512 == 1 ) {

eko 'SHA-512: ' .

krypta ( 'välkommen till linuxhint' , '$6$mkstringexforsaltparam$' ) .

' \n ' ;

} annan {

eko 'Stöder inte SHA-512. \n ' ;

}

?>

Slutsats


PHP krypta() funktion kan kryptera hashade strängar och är en enkelriktad kryptografisk teknik som stöder den angivna algoritmen. Eftersom det bara tillåter kryptering och inte dekryptering, kallas det en enriktad algoritm. Denna funktion accepterar en obligatorisk och en valfri parameter och returnerar en krypterad sträng. Den här guiden implementerade PHP-krypteringsfunktionen med hjälp av CRYPT_STD_DES, CRYPT_EXT_DES, CRYPT_MD5, CRYPT_BLOWFISH, CRYPT_SHA256 , och, CRYPT_SHA512 algoritmer.