Sådan bruges crypt()-funktionen i PHP

Sadan Bruges Crypt Funktionen I Php



Det krypt() funktion i PHP er et nyttigt værktøj til kryptografi, der bruges til at skabe en hash af den givne streng ved hjælp af hashing-algoritmer som Standard DES, Extended DES, MD5, Blowfish, SHA-256 og SHA-512. Denne funktion bruges til envejs hashing og kryptering af strenge. Det kræver to argumenter: strengen, der skal hash, og en valgfri saltværdi, som bruges til at tilføje kompleksitet til hashing-processen og gøre den mere sikker.

På flere operativsystemer opfører denne funktion sig forskelligt. Under installationen undersøger PHP de tilgængelige og anbefalede algoritmer. Denne funktion er inkluderet i PHP version 4 og nyere og accepterer en obligatorisk og en valgfri parameter.

Syntaks

En simpel syntaks efterfulgt af krypt() funktion er angivet nedenfor:









krypt ( $str , $salt )

Funktionen accepterer to parametre:



  • $str: Denne parameter er en streng, som du vil kryptere. Denne streng kan blive afkortet under hash-generering, hvilket betyder, at den ikke tager hele strengen i betragtning baseret på hash-typen.
  • $salt: Denne parameter bruges til at vælge hashing-metoden.

Denne funktion returnerer en krypteret streng.



Hvordan bruger man crypt()-funktionen i PHP?

Det krypt() funktion i PHP kan bruges med forskellige kryptografiske hashing-algoritmer til at kryptere en streng; her er nogle eksempler på, hvordan du bruger krypt() med forskellige hashing-algoritmer:





Lad os forklare disse metoder i detaljer.

1: Brug af CRYPT_STD_DES

Det CRYPT_STD_DES er en af ​​hashing-algoritmerne, der understøttes af krypt() funktion i PHP, der bruger Standard DES (Data Encryption Standard) algoritme til kryptering. Ved brug CRYPT_STD_DES , skal du angive en saltværdi på to tegn som det andet argument til krypt() fungere. Saltværdien angiver nøglevariationen og kompleksiteten af ​​krypteringsprocessen.



For eksempel:



hvis ( CRYPT_STD_DES == 1 ) {

ekko 'Standard DES: ' . krypt ( 'velkommen til linuxhint' , 'str' ) . ' \n ' ;

} andet {

ekko 'Understøtter ikke standard DES. \n ' ;

}

?>

2: Brug af CRYPT_EXT_DES

Det CRYPT_EXT_DES er en anden hashing-algoritme, der understøttes af krypt() funktion, der udnytter Udvidet DES (Data Encryption Standard) algoritme til kryptering. Udvidet DES er en udvidelse af den originale DES-algoritme, der giver et større nøglerum og forbedret sikkerhed.

At bruge CRYPT_EXT_DES , skal du angive en saltværdi, der starter med _J9 efterfulgt af yderligere tegn.

For eksempel:



hvis ( CRYPT_EXT_DES == 1 ) {

ekko 'Udvidet DES: ' . krypt ( 'velkommen til linuxhint' , '_J9..dutta' ) . ' \n ' ;

} andet {

ekko 'Understøtter ikke Extended DES. \n ' ;

}

?>

3: Brug af CRYPT_MD5

Det CRYPT_MD5 er en af ​​hashing-algoritmerne, der understøttes af krypt() funktion i PHP, der bruger MD5 (Message Digest Algorithm 5 producerer en 128-bit (16-byte) hashværdi ) algoritme til kryptering.

At bruge CRYPT_MD5 , skal du angive en saltværdi, der starter med $1$ efterfulgt af nogle karakterer.

For eksempel:



hvis ( CRYPT_MD5 == 1 ) {

ekko 'MD5: ' . krypt ( 'velkommen til linuxhint' , '$1$forsøger$' ) . ' \n ' ;

} andet {

ekko 'Understøtter ikke MD5. \n ' ;

}

?>

4: Brug af CRYPT_BLOWFISH

Det CRYPT_BLOWFISH er en almindeligt anbefalet hashing-algoritme, der understøttes af krypt() funktion i PHP, der bruger Blowfish-algoritmen til kryptering. Blowfish er en symmetrisk-nøgle blok chiffer, der er kendt for sin stærke sikkerhed. At bruge CRYPT_BLOWFISH , skal du angive en saltværdi, som starter med $2y$ eller $2a$ , efterfulgt af en tocifret omkostningsparameter og derefter den faktiske saltværdi.

For eksempel:



hvis ( CRYPT_BLOWFISH == 1 ) {

ekko 'Blowfish:' .

krypt ( 'velkommen til linuxhint' , '$2y$12$mkstringexforsaltparam' ) .

' \n ' ;

} andet {

ekko 'Støt ikke Blowfish. \n ' ;

}

?>

5: Brug af CRYPT_SHA256

En anden hashing-algoritme understøttet af krypt() funktionen er CRYPT_SHA256 som bruger SHA-256-algoritmen (producerer en 256-bit (32-byte) hashværdi) til kryptering. At bruge CRYPT_SHA256 , skal du angive en saltværdi, som starter med $5$ , efterfulgt af en tocifret omkostningsparameter og derefter den faktiske saltværdi

For eksempel:



hvis ( CRYPT_SHA256 == 1 ) {

ekko 'SHA-256: ' .

krypt ( 'velkommen til linuxhint' , '$5$mkstringexforsaltparam$' ) .

' \n ' ;

} andet {

ekko 'Understøtter ikke SHA256. \n ' ;

}

?>

6: Brug af CRYPT_SHA512

Det CRYPT_SHA512 er en anden nyttig hashing-algoritme, der understøttes af krypt() funktion i PHP, der bruger SHA-512 algoritme til kryptering. SHA-512 er en meget brugt kryptografisk hash-funktion, der genererer en 512-bit (64-byte) hashværdi. At bruge CRYPT_SHA512 , skal du angive en saltværdi, som starter med $6$ , efterfulgt af en tocifret omkostningsparameter og derefter den faktiske saltværdi

For eksempel:



hvis ( CRYPT_SHA512 == 1 ) {

ekko 'SHA-512: ' .

krypt ( 'velkommen til linuxhint' , '$6$mkstringexforsaltparam$' ) .

' \n ' ;

} andet {

ekko 'Understøtter ikke SHA-512. \n ' ;

}

?>

Konklusion


PHP krypt() funktion kan kryptere hash-strenge og er en envejs kryptografisk teknik, der understøtter den angivne algoritme. Fordi det kun tillader kryptering og ikke dekryptering, omtales det som en envejsalgoritme. Denne funktion accepterer en obligatorisk og en valgfri parameter og returnerer en krypteret streng. Denne vejledning implementerede PHP-krypteringsfunktionen ved hjælp af CRYPT_STD_DES, CRYPT_EXT_DES, CRYPT_MD5, CRYPT_BLOWFISH, CRYPT_SHA256 , og, CRYPT_SHA512 algoritmer.