Lithe Crypt ialah utiliti penyulitan dan penyahsulitan mudah untuk PHP, direka bentuk untuk berfungsi dengan rangka kerja Lithe. Ia menggunakan algoritma AES-256-CBC untuk pengendalian data yang selamat.
Untuk memasang pakej Lithe Crypt, anda boleh menggunakan Composer. Jika anda belum memasangnya lagi, pastikan Komposer tersedia pada sistem anda. Kemudian jalankan arahan berikut dalam direktori projek anda:
composer require lithemod/crypt
Sebelum menggunakan kelas Crypt, anda perlu memuatkan pembolehubah persekitaran anda. Gunakan kod berikut untuk memuatkan fail .env anda:
use Lithe\Support\Env; // Load environment variables Env::load(__DIR__); // Adjust the path as necessary
Pastikan pembolehubah persekitaran APP_KEY ditetapkan. Kunci ini mestilah rentetan berkod base64 sebanyak 32 bait. Anda boleh mengkonfigurasinya dalam fail .env anda atau terus dalam persekitaran pelayan anda.
Contoh kunci base64 yang sah:
YXNkZmFnc2Rhc2RmYWdlcyBhc2RmYWdlcyBhYXNkZmFnc2Q=
Untuk menyulitkan data, gunakan kaedah penyulitan kelas Crypt. Anda juga boleh menentukan sama ada anda mahu menggunakan IV tetap (vektor permulaan) untuk penyulitan:
use Lithe\Support\Security\Crypt; $data = "sensitive data"; // Encrypt without fixed IV $encrypted = Crypt::encrypt($data); echo "Encrypted Data: " . $encrypted; // Encrypt with fixed IV (useful for unique values like emails) $encryptedWithSameIV = Crypt::encrypt($data, true); echo "Encrypted Data with Fixed IV: " . $encryptedWithSameIV;
Untuk menyahsulit data yang disulitkan sebelum ini, gunakan kaedah nyahsulit. Anda mesti menyatakan parameter yang sama yang digunakan semasa penyulitan untuk memastikan penyahsulitan yang betul:
use Lithe\Support\Security\Crypt; // Decrypt without fixed IV $decrypted = Crypt::decrypt($encrypted); echo "Decrypted Data: " . $decrypted; // Decrypt with fixed IV $decryptedWithSameIV = Crypt::decrypt($encryptedWithSameIV, true, $data); echo "Decrypted Data with Fixed IV: " . $decryptedWithSameIV;
Jika APP_KEY tidak ditetapkan atau tidak sah, kelas Crypt akan membuang CryptException. Adalah penting untuk mengendalikan pengecualian ini dalam kod anda untuk mengelakkan ralat yang tidak dijangka:
use Lithe\Exceptions\Encryption\CryptException; try { $encrypted = Crypt::encrypt($data); // Decrypt without fixed IV $decrypted = Crypt::decrypt($encrypted); } catch (CryptException $e) { echo "Encryption Error: " . $e->getMessage(); }
Lithe Crypt menyediakan cara yang praktikal dan selamat untuk mengendalikan penyulitan dan penyahsulitan data dalam aplikasi PHP anda. Dengan pelaksanaan algoritma AES-256-CBC dan penyepaduan mudah dengan rangka kerja Lithe, anda boleh melindungi data anda dengan berkesan. Cubalah dan lihat bagaimana ia boleh meningkatkan keselamatan aplikasi anda!
Jika anda mempunyai sebarang soalan atau cadangan, sila komen di bawah!
Atas ialah kandungan terperinci Lithe Crypt: Memudahkan Penyulitan dalam Aplikasi PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!