Hoe de crypt()-functie in PHP te gebruiken

Hoe De Crypt Functie In Php Te Gebruiken



De crypt() functie in PHP is een handig hulpmiddel voor cryptografie dat wordt gebruikt om een ​​hash van de gegeven string te maken met behulp van hashing-algoritmen zoals Standard DES, Extended DES, MD5, Blowfish, SHA-256 en SHA-512. Deze functie wordt gebruikt voor one-way hashing en encryptie van strings. Er zijn twee argumenten nodig: de string die moet worden gehasht en een optionele salt-waarde, die wordt gebruikt om het hashing-proces ingewikkelder te maken en het veiliger te maken.

Op verschillende besturingssystemen gedraagt ​​deze functie zich anders. Tijdens de installatie onderzoekt PHP de beschikbare en aanbevolen algoritmen. Deze functie is opgenomen in PHP versie 4 en hoger en accepteert één verplichte en één optionele parameter.

Syntaxis

Een eenvoudige syntaxis gevolgd door de crypt() functie wordt hieronder gegeven:









crypt ( $str , $zout )

De functie accepteert twee parameters:



  • $str: Deze parameter is een tekenreeks die u wilt versleutelen. Deze string kan worden afgekapt tijdens het genereren van de hash, wat betekent dat er geen rekening wordt gehouden met de hele string op basis van het hash-type.
  • $zout: Deze parameter wordt gebruikt voor het selecteren van de hash-methode.

Deze functie retourneert een versleutelde string.



Hoe de crypt()-functie in PHP te gebruiken?

De crypt() functie in PHP kan worden gebruikt met verschillende cryptografische hash-algoritmen om een ​​string te versleutelen; hier zijn enkele voorbeelden van hoe te gebruiken crypt() met verschillende hash-algoritmen:





Laten we deze methoden in detail uitleggen.

1: CRYPT_STD_DES gebruiken

De CRYPT_STD_DES is een van de hash-algoritmen die worden ondersteund door de crypt() functie in PHP die de Standaard DES (Data Encryptie Standaard) algoritme voor encryptie. Tijdens gebruik CRYPT_STD_DES , moet u een salt-waarde van twee tekens opgeven als het tweede argument voor de crypt() functie. De salt-waarde specificeert de sleutelvariatie en complexiteit van het versleutelingsproces.



Bijvoorbeeld:



als ( CRYPT_STD_DES == 1 ) {

echo 'Standaard DES: ' . crypt ( 'welkom bij linuxhint' , 'str' ) . ' \N ' ;

} anders {

echo 'Ondersteunt geen standaard DES. \N ' ;

}

?>

2: CRYPT_EXT_DES gebruiken

De CRYPT_EXT_DES is een ander hash-algoritme dat wordt ondersteund door de crypt() functie die gebruik maakt van de Uitgebreide DES (Data Encryption Standard) algoritme voor encryptie. Uitgebreide DES is een uitbreiding van het oorspronkelijke DES-algoritme en biedt een grotere sleutelruimte en verbeterde beveiliging.

Gebruiken CRYPT_EXT_DES , moet u een zoutwaarde opgeven die begint met _J9 gevolgd door extra tekens.

Bijvoorbeeld:



als ( CRYPT_EXT_DES == 1 ) {

echo 'Uitgebreide DES: ' . crypt ( 'welkom bij linuxhint' , '_J9..dutta' ) . ' \N ' ;

} anders {

echo 'Ondersteunt geen uitgebreide DES. \N ' ;

}

?>

3: CRYPT_MD5 gebruiken

De CRYPT_MD5 is een van de hash-algoritmen die worden ondersteund door de crypt() functie in PHP die gebruik maakt van de MD5 (Message Digest-algoritme 5 produceert een 128-bits (16-bytes) hash-waarde ) algoritme voor encryptie.

Gebruiken CRYPT_MD5 , moet u een zoutwaarde opgeven die begint met $1$ gevolgd door enkele karakters.

Bijvoorbeeld:



als ( CRYPT_MD5 == 1 ) {

echo 'MD5: ' . crypt ( 'welkom bij linuxhint' , '$1$proberen$' ) . ' \N ' ;

} anders {

echo 'Ondersteunt geen MD5. \N ' ;

}

?>

4: CRYPT_BLOWFISH gebruiken

De CRYPT_BLOWFISH is een algemeen aanbevolen hash-algoritme dat wordt ondersteund door de crypt() functie in PHP die het Blowfish-algoritme gebruikt voor codering. Blowfish is een symmetrisch sleutelblokcijfer dat bekend staat om zijn sterke beveiliging. Gebruiken CRYPT_BLOWFISH , moet u een zoutwaarde opgeven, die begint met $2j$ of $2a$ , gevolgd door een tweecijferige kostenparameter en vervolgens de werkelijke zoutwaarde.

Bijvoorbeeld:



als ( CRYPT_BLOWFISH == 1 ) {

echo 'Bloemvis: ' .

crypt ( 'welkom bij linuxhint' , '$2j$12$mkstringexforsaltparam' ) .

' \N ' ;

} anders {

echo 'Steun Blowfish niet. \N ' ;

}

?>

5: CRYPT_SHA256 gebruiken

Een ander hash-algoritme dat wordt ondersteund door de crypt() functie is de CRYPT_SHA256 die het SHA-256-algoritme gebruikt (produceert een 256-bits (32-bytes) hash-waarde) voor codering. Gebruiken CRYPT_SHA256 , moet u een zoutwaarde opgeven, die begint met $5$ , gevolgd door een tweecijferige kostenparameter en vervolgens de werkelijke zoutwaarde

Bijvoorbeeld:



als ( CRYPT_SHA256 == 1 ) {

echo 'SHA-256: ' .

crypt ( 'welkom bij linuxhint' , '$5$mkstringexforsaltparam$' ) .

' \N ' ;

} anders {

echo 'Ondersteunt geen SHA256. \N ' ;

}

?>

6: CRYPT_SHA512 gebruiken

De CRYPT_SHA512 is een ander handig hash-algoritme dat wordt ondersteund door de crypt() functie in PHP die gebruik maakt van de SHA-512 algoritme voor encryptie. SHA-512 is een veelgebruikte cryptografische hashfunctie die een hashwaarde van 512 bits (64 bytes) genereert. Gebruiken CRYPT_SHA512 , moet u een zoutwaarde opgeven, die begint met $6$ , gevolgd door een tweecijferige kostenparameter en vervolgens de werkelijke zoutwaarde

Bijvoorbeeld:



als ( CRYPT_SHA512 == 1 ) {

echo 'SHA-512: ' .

crypt ( 'welkom bij linuxhint' , '$6$mkstringexforsaltparam$' ) .

' \N ' ;

} anders {

echo 'Ondersteunt geen SHA-512. \N ' ;

}

?>

Conclusie


De PHP crypt() functie kan gehashte tekenreeksen versleutelen en is een cryptografische techniek in één richting die het gespecificeerde algoritme ondersteunt. Omdat het alleen codering toestaat en geen decodering, wordt het een eenrichtingsalgoritme genoemd. Deze functie accepteert één verplichte en één optionele parameter en retourneert een versleutelde string. Deze gids implementeerde de PHP-cryptiefunctie met behulp van CRYPT_STD_DES, CRYPT_EXT_DES, CRYPT_MD5, CRYPT_BLOWFISH, CRYPT_SHA256 , En, CRYPT_SHA512 algoritmen.