Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Melaksanakan Penyulitan Dua Hala Mudah dalam PHP Menggunakan Fungsi Asli?

Bagaimanakah Saya Boleh Melaksanakan Penyulitan Dua Hala Mudah dalam PHP Menggunakan Fungsi Asli?

Patricia Arquette
Patricia Arquetteasal
2024-12-20 11:19:09855semak imbas

How Can I Implement Simple Two-Way Encryption in PHP Using Native Functions?

Penyulitan Dua Hala Paling Mudah dalam PHP

Pengenalan

Penyulitan dua hala melibatkan penyulitan dan menyahsulit data menggunakan kunci rahsia. Walaupun PHP menawarkan keupayaan penyulitan, adalah disyorkan untuk mengutamakan kemudahalihan dengan menggunakan fungsi yang disokong asli.

Pelaksanaan Asli

1. OpenSSL

Gunakan openssl_encrypt() dan openssl_decrypt() dengan kaedah yang disokong seperti sebagai:

  • aes-128-ctr
  • aes-192-ctr
  • aes-256-ctr

Berikut adalah ringkas contoh penyulitan dan penyahsulitan dengan OpenSSL:

$message = 'Encrypted message';
$key = hex2bin('...');

$encrypted = openssl_encrypt($message, self::METHOD, $key, OPENSSL_RAW_DATA, $nonce);
$decrypted = openssl_decrypt($encrypted, self::METHOD, $key, OPENSSL_RAW_DATA, $nonce);

2. libsodium (Disyorkan)

Jika keperluan mudah alih anda membenarkan, gunakan sambungan libsodium untuk perpustakaan kriptografi yang teguh dan diselenggara dengan baik.

Pertimbangan Keselamatan

1. Pengubahan Data:

Data yang tidak disulitkan boleh dimanipulasi, jadi pertimbangkan untuk menggunakan kaedah penyulitan pengesahan untuk mengesan dan mencegah gangguan.

2. Prinsip Doom Kriptografi:

Mengesahkan data yang disulitkan menghalang pengubahan, manakala mengesahkan data yang tidak disulitkan tidak.

3. Penyulitan Tidak Selamat dan Disahkan

Kelas UnsafeCrypto yang disediakan menunjukkan penyulitan dan penyahsulitan mudah tanpa pengesahan. Walau bagaimanapun, ia tidak boleh digunakan dalam persekitaran pengeluaran.

Kelas SaferCrypto memanjangkan UnsafeCrypto untuk memasukkan pengesahan, memastikan data yang disulitkan tidak diusik.

Kebimbangan Mudah Alih

Jika mudah alih adalah keutamaan, pertimbangkan untuk menggunakan perpustakaan kriptografi yang bereputasi seperti Fungsi penyulitan asli Sodium atau PHP dengan algoritma yang disokong.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Penyulitan Dua Hala Mudah dalam PHP Menggunakan Fungsi Asli?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn