Vo viacerých operačných systémoch sa táto funkcia správa odlišne. Počas inštalácie PHP skúma dostupné a odporúčané algoritmy. Táto funkcia je súčasťou PHP verzie 4 a novšej a akceptuje jeden povinný a jeden voliteľný parameter.
Syntax
Jednoduchá syntax, za ktorou nasleduje crypt() funkcia je uvedená nižšie:
krypta ( $str , $soľ )
Funkcia akceptuje dva parametre:
- $str: Tento parameter je reťazec, ktorý chcete zašifrovať. Tento reťazec sa môže počas generovania hash skrátiť, čo znamená, že nebude brať do úvahy celý reťazec na základe typu hash.
- $soľ: Tento parameter sa používa na výber metódy hashovania.
Táto funkcia vráti zašifrovaný reťazec.
Ako používať funkciu crypt() v PHP?
The crypt() funkcia v PHP môže byť použitá s rôznymi kryptografickými hashovacími algoritmami na zašifrovanie reťazca; tu je niekoľko príkladov použitia crypt() s rôznymi hašovacími algoritmami:
- Pomocou CRYPT_STD_DES
- Pomocou CRYPT_EXT_DES
- Pomocou CRYPT_MD5
- Pomocou CRYPT_BLOWFISH
- Pomocou CRYPT_SHA256
- Pomocou CRYPT_SHA512
Vysvetlime si tieto metódy podrobne.
1: Použitie CRYPT_STD_DES
The CRYPT_STD_DES je jedným z hashovacích algoritmov podporovaných crypt() funkcia v PHP, ktorá používa Standard DES (Data Encryption Standard) algoritmus na šifrovanie. Pri použití CRYPT_STD_DES , musíte zadať dvojznakovú hodnotu soli ako druhý argument pre crypt() funkciu. Hodnota soli určuje variáciu kľúča a zložitosť procesu šifrovania.
Napríklad:
ak ( CRYPT_STD_DES == 1 ) {
ozvena 'Štandardné DES: ' . krypta ( 'vitajte v linuxhint' , 'str' ) . ' \n ' ;
} inak {
ozvena 'Nepodporujte štandard DES. \n ' ;
}
?>
2: Použitie CRYPT_EXT_DES
The CRYPT_EXT_DES je ďalší hašovací algoritmus podporovaný crypt() funkciu, ktorá využíva Rozšírený DES (Data Encryption Standard) algoritmus na šifrovanie. Rozšírené DES je rozšírením pôvodného algoritmu DES, ktorý poskytuje väčší kľúčový priestor a vylepšenú bezpečnosť.
Použit CRYPT_EXT_DES , musíte zadať hodnotu soli, ktorá začína na _J9 nasledované ďalšími znakmi.
Napríklad:
ak ( CRYPT_EXT_DES == 1 ) {
ozvena 'Rozšírené DES: ' . krypta ( 'vitajte v linuxhint' , '_J9..dutta' ) . ' \n ' ;
} inak {
ozvena 'Nepodporujte Extended DES. \n ' ;
}
?>
3: Použitie CRYPT_MD5
The CRYPT_MD5 je jedným z hashovacích algoritmov podporovaných crypt() funkcia v PHP, ktorá využíva MD5 (Algoritmus na spracovanie správ 5 vytvára 128-bitovú (16-bajtovú) hodnotu hash ) algoritmus na šifrovanie.
Použit CRYPT_MD5 , musíte zadať hodnotu soli, ktorá začína na $ 1 $ nasledované niektorými znakmi.
Napríklad:
ak ( CRYPT_MD5 == 1 ) {
ozvena 'MD5: ' . krypta ( 'vitajte v linuxhint' , '$1$pokúšam$' ) . ' \n ' ;
} inak {
ozvena 'Nepodporujte MD5. \n ' ;
}
?>
4: Použitie CRYPT_BLOWFISH
The CRYPT_BLOWFISH je široko odporúčaný hašovací algoritmus podporovaný serverom crypt() funkciu v PHP, ktorá využíva na šifrovanie algoritmus Blowfish. Blowfish je bloková šifra so symetrickým kľúčom, ktorá je známa svojou silnou bezpečnosťou. Použit CRYPT_BLOWFISH , musíte zadať hodnotu soli, ktorá začína na $ 2 r $ alebo $2a$ , za ktorým nasleduje dvojciferný parameter ceny a potom skutočná hodnota soli.
Napríklad:
ak ( CRYPT_BLOWFISH == 1 ) {
ozvena 'Blowfish: ' .
krypta ( 'vitajte v linuxhint' , '$2y$12$mkstringexforsaltparam' ) .
' \n ' ;
} inak {
ozvena „Nepodporujte Blowfish. \n ' ;
}
?>
5: Použitie CRYPT_SHA256
Ďalší hashovací algoritmus podporovaný crypt() funkcia je CRYPT_SHA256 ktorý používa algoritmus SHA-256 (vytvára 256-bitovú (32-bajtovú) hodnotu hash) na šifrovanie. Použit CRYPT_SHA256 , musíte zadať hodnotu soli, ktorá začína na 5 $ , za ktorým nasleduje dvojciferný parameter ceny a potom skutočná hodnota soli
Napríklad:
ak ( CRYPT_SHA256 == 1 ) {
ozvena 'SHA-256: ' .
krypta ( 'vitajte v linuxhint' , '$5$mkstringexforsaltparam$' ) .
' \n ' ;
} inak {
ozvena 'Nepodporujte SHA256. \n ' ;
}
?>
6: Použitie CRYPT_SHA512
The CRYPT_SHA512 je ďalší užitočný hašovací algoritmus podporovaný crypt() funkcia v PHP, ktorá využíva SHA-512 algoritmus na šifrovanie. SHA-512 je široko používaná kryptografická hašovacia funkcia, ktorá generuje 512-bitovú (64-bajtovú) hašovaciu hodnotu. Použit CRYPT_SHA512 , musíte zadať hodnotu soli, ktorá začína na 6 $ , za ktorým nasleduje dvojciferný parameter ceny a potom skutočná hodnota soli
Napríklad:
ak ( CRYPT_SHA512 == 1 ) {
ozvena 'SHA-512: ' .
krypta ( 'vitajte v linuxhint' , '$6$mkstringexforsaltparam$' ) .
' \n ' ;
} inak {
ozvena 'Nepodporujte SHA-512. \n ' ;
}
?>
Záver
PHP crypt() funkcia môže šifrovať hashované reťazce a je to jednosmerná kryptografická technika podporujúca špecifikovaný algoritmus. Pretože umožňuje iba šifrovanie a nie dešifrovanie, označuje sa ako jednosmerný algoritmus. Táto funkcia akceptuje jeden povinný a jeden voliteľný parameter a vráti zašifrovaný reťazec. Táto príručka implementovala funkciu PHP crypt pomocou CRYPT_STD_DES, CRYPT_EXT_DES, CRYPT_MD5, CRYPT_BLOWFISH, CRYPT_SHA256 a, CRYPT_SHA512 algoritmy.