Menyulitkan dan Menyahsulit Rentetan dalam PHP
Mengelakkan Perangkap Biasa
Sebelum mendalami pelaksanaan penyulitan dan penyahsulitan, adalah penting untuk memahami perbezaan antara penyulitan dan pengesahan. Untuk perlindungan data yang selamat, penyulitan yang disahkan adalah disyorkan berbanding penyulitan mudah. Selain itu, adalah dinasihatkan untuk mengelak daripada membuat pelaksanaan kriptografi tersuai dan sebaliknya bergantung pada perpustakaan yang selamat dan mantap seperti libsodium atau defuse/php-encryption.
Penyulitan dan Penyahsulitan
Penyulitan:
Penyahsulitan:
Pelaksanaan dengan Libsodium
use Sodium\Crypto\SecretBox; $key = random_bytes(SecretBox::KEYBYTES); $nonce = random_bytes(SecretBox::NONCEBYTES); $ciphertext = SecretBox::encrypt($message, $nonce, $key); $plaintext = SecretBox::decrypt($ciphertext, $nonce, $key);
Pelaksanaan dengan defuse/php-encryption
use Defuse\Crypto\Crypto; use Defuse\Crypto\Key; $key = Key::createNewRandomKey(); $ciphertext = Crypto::encrypt($message, $key); $plaintext = Crypto::decrypt($ciphertext, $key);
Pertimbangan Tambahan
Awas
Contoh dengan Libsodium
use Sodium\Crypto\SecretBox; $key = random_bytes(SecretBox::KEYBYTES); $nonce = random_bytes(SecretBox::NONCEBYTES); $ciphertext = SecretBox::encrypt($message, $nonce, $key); $plaintext = SecretBox::decrypt($ciphertext, $nonce, $key); echo "Ciphertext: " . $ciphertext . PHP_EOL; echo "Plaintext: " . $plaintext . PHP_EOL;
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyulitkan dan Menyahsulit Rentetan dalam PHP Menggunakan Perpustakaan Ditubuhkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!