Cara Menggunakan Fungsi crypt() dalam PHP

Cara Menggunakan Fungsi Crypt Dalam Php



The crypt() fungsi dalam PHP ialah alat berguna untuk kriptografi yang digunakan untuk mencipta cincang rentetan yang diberikan menggunakan algoritma pencincangan seperti Standard DES, Extended DES, MD5, Blowfish, SHA-256, dan, SHA-512. Fungsi ini digunakan untuk pencincangan sehala dan penyulitan rentetan. Ia memerlukan dua hujah: rentetan untuk dicincang dan nilai garam pilihan, yang digunakan untuk menambah kerumitan pada proses pencincangan dan menjadikannya lebih selamat.

Pada beberapa sistem pengendalian, fungsi ini berkelakuan berbeza. Semasa pemasangan, PHP meneliti algoritma yang tersedia dan disyorkan. Fungsi ini disertakan dalam PHP versi 4 dan lebih baru dan menerima satu parameter wajib dan satu pilihan.

Sintaks

Sintaks mudah diikuti oleh crypt() fungsi diberikan di bawah:









crypt ( $str , $garam )

Fungsi ini menerima dua parameter:



  • $str: Parameter ini ialah rentetan yang anda mahu enkripsi. Rentetan ini boleh dipenggal semasa penjanaan cincang, yang bermaksud ia tidak akan mengambil kira keseluruhan rentetan berdasarkan jenis cincang.
  • $garam: Parameter ini digunakan untuk memilih kaedah pencincangan.

Fungsi ini akan mengembalikan rentetan yang disulitkan.



Bagaimana untuk Menggunakan Fungsi crypt() dalam PHP?

The crypt() fungsi dalam PHP boleh digunakan dengan algoritma pencincangan kriptografi yang berbeza untuk menyulitkan rentetan; berikut adalah beberapa contoh cara menggunakan crypt() dengan algoritma pencincangan yang berbeza:





Mari kita terangkan kaedah ini secara terperinci.

1: Menggunakan CRYPT_STD_DES

The CRYPT_STD_DES adalah salah satu algoritma pencincangan yang disokong oleh crypt() fungsi dalam PHP yang menggunakan Standard DES (Standard Penyulitan Data) algoritma untuk penyulitan. Apabila menggunakan CRYPT_STD_DES , anda perlu menyediakan nilai garam dua aksara sebagai hujah kedua kepada crypt() fungsi. Nilai garam menentukan variasi utama dan kerumitan proses penyulitan.



Sebagai contoh:



jika ( CRYPT_STD_DES == 1 ) {

bergema 'DES Standard:' . crypt ( 'selamat datang ke linuxhint' , 'str' ) . ' \n ' ;

} lain {

bergema 'Jangan menyokong DES standard. \n ' ;

}

?>

2: Menggunakan CRYPT_EXT_DES

The CRYPT_EXT_DES ialah satu lagi algoritma pencincangan yang disokong oleh crypt() fungsi yang menggunakan DES Lanjutan (Standard Penyulitan Data) algoritma untuk penyulitan. Dilanjutkan DES ialah lanjutan daripada algoritma DES asal, menyediakan ruang utama yang lebih besar dan keselamatan yang dipertingkatkan.

Untuk menggunakan CRYPT_EXT_DES , anda perlu menyediakan nilai garam yang bermula dengan _J9 diikuti dengan watak tambahan.

Sebagai contoh:



jika ( CRYPT_EXT_DES == 1 ) {

bergema 'DES lanjutan:' . crypt ( 'selamat datang ke linuxhint' , '_J9..dutta' ) . ' \n ' ;

} lain {

bergema 'Jangan menyokong Extended DES. \n ' ;

}

?>

3: Menggunakan CRYPT_MD5

The CRYPT_MD5 adalah salah satu algoritma pencincangan yang disokong oleh crypt() fungsi dalam PHP yang menggunakan MD5 (Algoritma Ringkasan Mesej 5 menghasilkan nilai cincang 128-bit (16-bait). ) algoritma untuk penyulitan.

Untuk menggunakan CRYPT_MD5 , anda perlu menyediakan nilai garam yang bermula dengan $1$ diikuti oleh beberapa watak.

Sebagai contoh:



jika ( CRYPT_MD5 == 1 ) {

bergema 'MD5: ' . crypt ( 'selamat datang ke linuxhint' , '$1$mencuba$' ) . ' \n ' ;

} lain {

bergema 'Jangan sokong MD5. \n ' ;

}

?>

4: Menggunakan CRYPT_BLOWFISH

The CRYPT_BLOWFISH ialah algoritma pencincangan yang disyorkan secara meluas yang disokong oleh crypt() fungsi dalam PHP yang menggunakan algoritma Blowfish untuk penyulitan. Blowfish ialah sifir blok kunci simetri yang terkenal dengan keselamatannya yang kukuh. Untuk menggunakan CRYPT_BLOWFISH , anda perlu memberikan nilai garam, yang bermula dengan $2y$ atau $2a$ , diikuti dengan parameter kos dua digit, dan kemudian nilai garam sebenar.

Sebagai contoh:



jika ( CRYPT_BLOWFISH == 1 ) {

bergema 'Blowfish:' .

crypt ( 'selamat datang ke linuxhint' , '$2y$12$mkstringexforsaltparam' ) .

' \n ' ;

} lain {

bergema “Jangan sokong Blowfish. \n ' ;

}

?>

5: Menggunakan CRYPT_SHA256

Satu lagi algoritma pencincangan disokong oleh crypt() fungsi ialah CRYPT_SHA256 yang menggunakan algoritma SHA-256 (menghasilkan nilai cincang 256-bit (32-bait)) untuk penyulitan. Untuk menggunakan CRYPT_SHA256 , anda perlu memberikan nilai garam, yang bermula dengan $5$ , diikuti dengan parameter kos dua digit, dan kemudian nilai garam sebenar

Sebagai contoh:



jika ( CRYPT_SHA256 == 1 ) {

bergema 'SHA-256: ' .

crypt ( 'selamat datang ke linuxhint' , '$5$mkstringexforsaltparam$' ) .

' \n ' ;

} lain {

bergema 'Jangan sokong SHA256. \n ' ;

}

?>

6: Menggunakan CRYPT_SHA512

The CRYPT_SHA512 ialah satu lagi algoritma pencincangan berguna yang disokong oleh crypt() fungsi dalam PHP yang menggunakan SHA-512 algoritma untuk penyulitan. SHA-512 ialah fungsi cincang kriptografi yang digunakan secara meluas yang menghasilkan nilai cincang 512-bit (64-bait). Untuk menggunakan CRYPT_SHA512 , anda perlu memberikan nilai garam, yang bermula dengan $6$ , diikuti dengan parameter kos dua digit, dan kemudian nilai garam sebenar

Sebagai contoh:



jika ( CRYPT_SHA512 == 1 ) {

bergema 'SHA-512:' .

crypt ( 'selamat datang ke linuxhint' , '$6$mkstringexforsaltparam$' ) .

' \n ' ;

} lain {

bergema 'Jangan sokong SHA-512. \n ' ;

}

?>

Kesimpulan


PHP crypt() fungsi boleh menyulitkan rentetan cincang dan merupakan teknik kriptografi satu arah yang menyokong algoritma yang ditentukan. Kerana ia hanya membenarkan penyulitan dan bukan penyahsulitan, ia dirujuk sebagai algoritma satu arah. Fungsi ini menerima satu parameter wajib dan satu pilihan serta mengembalikan rentetan yang disulitkan. Panduan ini melaksanakan fungsi crypt PHP menggunakan CRYPT_STD_DES, CRYPT_EXT_DES, CRYPT_MD5, CRYPT_BLOWFISH, CRYPT_SHA256 , dan, CRYPT_SHA512 algoritma.