


Bagaimana untuk melaksanakan operasi penyulitan dan penyahsulitan DES di PHP?
Penjelasan terperinci mengenai penyulitan dan penyahsulitan PHP DES
Artikel ini memperkenalkan cara melaksanakan penyulitan dan penyahsulitan DES dalam PHP. Kami akan membina fungsi penyulitan lengkap berdasarkan fungsi penyahsulitan sedia ada dan memberikan contoh kod lengkap.
Pertama, kita menganalisis fungsi penyahsulitan yang diberikan:
/** * Hexadecimal ke rentetan * @param string $ hex * @return String */ Fungsi Awam HEXTOSTST (String $ Hex) { $ string = ""; untuk ($ i = 0; $ i <strlen hex i="2)" string.="chr" kembali string fungsi awam desdecrypt str key="testkey" base64="base64_decode" this-> hextostr ($ str)); kembali openssl_decrypt ($ base64, 'des-ecb', $ kekunci); }</strlen>
Berdasarkan ini, kami membuat kelas yang mengandungi kaedah penyulitan dan penyahsulitan:
Php kelas des { Kunci $ Swasta; fungsi awam __construct ($ kunci) { $ this-> key = $ kekunci; } /** * String ke hexadecimal* @param string $ str * @return String */ fungsi peribadi strtohex (string $ str) { $ hex = ''; untuk ($ i = 0; $ i <strlen str i hex.="dechex" kembali hex hexadecimal ke rentetan string fungsi peribadi hextostr untuk string.="chr" penyulitan awam desencrypt base64="openssl_encrypt" this-> kekunci); kembali $ this-> strtohex ($ base64); } /** * Penyahsulitan* @param string $ str * @return String */ fungsi awam desDecrypt (string $ str) { $ base64 = base64_decode ($ this-> hextostr ($ str)); kembali openssl_decrypt ($ base64, 'des-ecb', $ this-> kekunci); } } $ key = "testkey"; $ des = baru des ($ kunci); $ name = "123"; $ encryptedName = $ des-> desencrypt ($ name); echo "disulitkan:". $ encryptedName. "\ n"; $ decryptedName = $ des-> desDecrypt ($ encryptedName); echo "decrypted:". $ decryptedName. "\ n"; ?></strlen>
Kod ini mentakrifkan kelas DES
, termasuk kaedah desEncrypt
dan desDecrypt
untuk penyulitan dan penyahsulitan. Kaedah strToHex
dan hexToStr
digunakan untuk penukaran antara rentetan dan rentetan hex. Akhirnya, kami mengesahkan integriti penyulitan dan penyahsulitan dengan kes ujian. Sila pastikan persekitaran PHP anda mempunyai pelanjutan OpenSSL yang dipasang. Kunci "testkey" hanya digunakan untuk contoh. Sila gunakan kaedah penjanaan utama yang lebih selamat dalam aplikasi sebenar.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan operasi penyulitan dan penyahsulitan DES di PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

PhpSSsionsTrackUserDataacrossmultiplePagerequestSuseUniquidStoredinacookie.here'ShoWtomanAgeThemEffectely: 1) startAnSessionWithSession_Start () danStoRedatain $ _Session.2)

Dalam PHP, iterating melalui data sesi dapat dicapai melalui langkah -langkah berikut: 1. Mulakan sesi menggunakan session_start (). 2. ITERATE melalui gelung foreach melalui semua pasangan nilai utama dalam array $ _Session. 3. Apabila memproses struktur data kompleks, gunakan fungsi is_array () atau is_object () dan gunakan print_r () untuk mengeluarkan maklumat terperinci. 4. Apabila mengoptimumkan traversal, paging boleh digunakan untuk mengelakkan memproses sejumlah besar data pada satu masa. Ini akan membantu anda mengurus dan menggunakan data sesi PHP dengan lebih cekap dalam projek sebenar anda.

Sesi ini menyedari pengesahan pengguna melalui mekanisme pengurusan negara pelayan. 1) Penciptaan sesi dan penjanaan ID unik, 2) IDS diluluskan melalui kuki, 3) kedai pelayan dan mengakses data sesi melalui ID, 4) Pengesahan pengguna dan pengurusan status direalisasikan, meningkatkan keselamatan aplikasi dan pengalaman pengguna.

TOSTOREAUSER'SNAMEINAPHPSESSION, startTheSessionWithSsion_Start (), thenassignthenameto $ _Session ['username']

Sebab -sebab kegagalan phpsession termasuk kesilapan konfigurasi, isu cookie, dan tamat tempoh sesi. 1. Ralat Konfigurasi: Semak dan tetapkan session.save_path yang betul. Masalah 2.Cookie: Pastikan kuki ditetapkan dengan betul. 3.Session Expires: Laraskan Nilai Sesi.GC_MAXLifetime untuk melanjutkan masa sesi.

Kaedah untuk masalah sesi debug dalam PHP termasuk: 1. Periksa sama ada sesi dimulakan dengan betul; 2. Sahkan penghantaran ID sesi; 3. Semak penyimpanan dan bacaan data sesi; 4. Semak konfigurasi pelayan. Dengan mengeluarkan ID dan data sesi, melihat kandungan fail sesi, dan lain-lain, anda boleh mendiagnosis dan menyelesaikan masalah yang berkaitan dengan sesi.

Pelbagai panggilan ke session_start () akan menghasilkan mesej amaran dan kemungkinan penggantian data. 1) PHP akan mengeluarkan amaran, menyebabkan sesi telah dimulakan. 2) Ia boleh menyebabkan penggantian data sesi yang tidak dijangka. 3) Gunakan session_status () untuk memeriksa status sesi untuk mengelakkan panggilan berulang.

Mengkonfigurasi kitaran hayat sesi dalam PHP boleh dicapai dengan menetapkan sesi.gc_maxlifetime dan session.cookie_lifetime. 1) session.gc_maxlifetime mengawal masa survival data sesi pelayan, 2) session.cookie_lifetime mengawal kitaran hayat kuki klien. Apabila ditetapkan ke 0, kuki tamat apabila penyemak imbas ditutup.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma
