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:
- Använder CRYPT_STD_DES
- Använder CRYPT_EXT_DES
- Använder CRYPT_MD5
- Använder CRYPT_BLOWFISH
- Använder CRYPT_SHA256
- Använder CRYPT_SHA512
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.