


Ciri baharu dalam PHP 8: Ditambah pengesahan dan tandatangan
PHP 8 ialah versi terbaharu PHP, membawa lebih banyak kemudahan dan fungsi kepada pengaturcara. Versi ini mempunyai tumpuan khusus pada keselamatan dan prestasi, dan salah satu ciri baharu yang perlu diberi perhatian ialah penambahan keupayaan pengesahan dan tandatangan. Dalam artikel ini, kita akan melihat dengan lebih dekat ciri baharu ini dan kegunaannya.
Pengesahan dan tandatangan adalah konsep keselamatan yang sangat penting dalam sains komputer. Ia sering digunakan untuk memastikan bahawa data yang dihantar adalah lengkap dan sahih. Pengesahan dan tandatangan menjadi sangat penting apabila berurusan dengan transaksi dalam talian dan maklumat sensitif, kerana jika seseorang dapat mengganggu data, ia boleh menyebabkan kemudaratan yang tidak dapat diramalkan kepada syarikat dan pelanggan.
Dalam PHP 8, terdapat dua sambungan baharu untuk mengendalikan pengesahan dan tandatangan: sodium dan openssl. Sambungan ini memudahkan penggunaan kriptografi moden dan protokol keselamatan dalam PHP.
sambungan natrium
Sodium ialah perpustakaan kriptografi moden yang menyediakan akses API kepada banyak algoritma kriptografi dan fungsi keselamatan. Ia telah menjadi perpustakaan pilihan untuk pembangun yang bekerja dengan kriptografi selamat kerana ia berdasarkan piawaian kriptografi terkini seperti Curve25519 dan Chacha20.
Dalam PHP 7.2, sambungan Sodium telah ditambahkan pada perpustakaan standard PHP dan menjadi sambungan pilihan dalam PHP 7.2. Dalam PHP 8, ia telah menjadi sambungan lalai.
Gunakan sambungan natrium untuk pengesahan
Sambungan natrium menyediakan fungsi yang dipanggil sodium_crypto_sign_detached(), yang boleh digunakan untuk menandatangani data. Tandatangan menjana rentetan tertentu yang boleh digunakan untuk mengesahkan sama ada data telah diganggu.
Berikut ialah contoh menandatangani dan mengesahkan menggunakan fungsi sodium_crypto_sign_detached():
<?php $data = "hello world"; $keys = sodium_crypto_sign_keypair(); $signature = sodium_crypto_sign_detached($data, $keys['secret']); if (sodium_crypto_sign_verify_detached($signature, $data, $keys['public'])) { echo "签名有效"; } else { echo "签名无效"; }
Dalam contoh ini, kami mula-mula menjana sepasang kunci awam dan peribadi. Kemudian gunakan fungsi $sodium_crypto_sign_detached() untuk menandatangani rentetan dan menyimpan hasil tandatangan dalam pembolehubah $signature. Akhir sekali, gunakan fungsi $sodium_crypto_sign_verify_detached() untuk mengesahkan bahawa tandatangan itu sah.
Jika tandatangan sah, maka "Tandatangan sah" akan dicetak pada skrin, jika tidak "Tandatangan tidak sah" akan dicetak.
Pengesahan menggunakan sambungan openssl
OpenSSL ialah penyulitan popular dan perpustakaan keselamatan yang menyediakan banyak algoritma penyulitan dan ciri keselamatan. Sambungan OpenSSL telah dibina ke dalam PHP, menjadikannya lebih mudah untuk menggunakan OpenSSL dalam PHP.
Pelanjutan OpenSSL menyediakan fungsi lain yang dipanggil openssl_sign() yang boleh menandatangani data. Begitu juga, sambungan juga menyediakan fungsi openssl_verify() untuk mengesahkan tandatangan.
Berikut ialah contoh menandatangani dan mengesahkan menggunakan fungsi openssl_sign() dan openssl_verify():
<?php $data = "hello world"; $key = openssl_pkey_new(['digest_alg' => 'sha512']); openssl_sign($data, $signature, $key); if (openssl_verify($data, $signature, $key)) { echo "签名有效"; } else { echo "签名无效"; }
Dalam contoh ini, kami mula-mula menjana pasangan kunci awam dan peribadi menggunakan fungsi openssl_pkey_new(). Kemudian gunakan fungsi openssl_sign() untuk menandatangani rentetan dan menyimpan hasil tandatangan dalam pembolehubah $signature. Akhir sekali, gunakan fungsi openssl_verify() untuk mengesahkan bahawa tandatangan itu sah.
Jika tandatangan sah, maka "Tandatangan sah" akan dicetak pada skrin, jika tidak "Tandatangan tidak sah" akan dicetak.
Kesimpulan
Pengesahan dan tandatangan adalah kaedah penting untuk memastikan keselamatan data. Dalam PHP 8, sambungan sodium dan openssl akan memudahkan pengesahan dan tandatangan. Pembangun boleh memanfaatkan ciri baharu ini untuk menyediakan perkhidmatan yang lebih selamat kepada syarikat dan pelanggan. Jika anda seorang pembangun PHP, kami mengesyorkan anda mendalami sambungan sodium dan openssl untuk memaksimumkan keselamatan dan melindungi pengguna anda.
Atas ialah kandungan terperinci Ciri baharu dalam PHP 8: Ditambah pengesahan dan tandatangan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Terdapat dua cara untuk mendapatkan nilai mutlak dalam C++: 1. Gunakan fungsi terbina dalam abs() untuk mendapatkan nilai mutlak jenis integer atau titik terapung 2. Gunakan fungsi generik std::abs() untuk mendapatkan pelbagai nilai mutlak yang disokong Beroperasi pada nilai mutlak jenis data.

std ialah ruang nama dalam C++ yang mengandungi komponen perpustakaan standard. Untuk menggunakan std, gunakan pernyataan "menggunakan ruang nama std;". Menggunakan simbol terus dari ruang nama std boleh memudahkan kod anda, tetapi disyorkan hanya apabila diperlukan untuk mengelakkan pencemaran ruang nama.

Terdapat dua cara untuk mencipta pop timbul dalam Python: Tkinter: Gunakan perpustakaan Tkinter untuk mencipta widget Tk atau TopLevel. Pyglet: Gunakan perpustakaan Pyglet untuk mencipta tetingkap Window.

Fungsi fabs() ialah fungsi matematik dalam C++ yang mengira nilai mutlak nombor titik terapung, membuang tanda negatif dan mengembalikan nilai positif. Ia menerima parameter titik terapung dan mengembalikan nilai mutlak jenis berganda. Sebagai contoh, fabs(-5.5) mengembalikan 5.5. Fungsi ini berfungsi dengan nombor titik terapung, yang ketepatannya dipengaruhi oleh perkakasan asas.

prime ialah kata kunci dalam C++, yang menunjukkan jenis nombor perdana, yang hanya boleh dibahagikan dengan 1 dan dirinya sendiri Ia digunakan sebagai jenis Boolean untuk menunjukkan sama ada nilai yang diberikan ialah nombor perdana, ia adalah benar, jika tidak ia palsu.

Jenis kompleks digunakan untuk mewakili nombor kompleks dalam bahasa C, termasuk bahagian nyata dan khayalan. Bentuk permulaannya ialah complex_number = 3.14 + 2.71i, bahagian sebenar boleh diakses melalui kreal(complex_number), dan bahagian khayalan boleh diakses melalui cimag(complex_number). Jenis ini menyokong operasi matematik biasa seperti penambahan, penolakan, pendaraban, pembahagian dan modulo. Di samping itu, satu set fungsi untuk bekerja dengan nombor kompleks disediakan, seperti cpow, csqrt, cexp dan csin.

Config mewakili maklumat konfigurasi dalam Java dan digunakan untuk melaraskan tingkah laku aplikasi Ia biasanya disimpan dalam fail luaran atau pangkalan data dan boleh diuruskan melalui Java Properties, PropertyResourceBundle, Java Configuration Framework atau pustaka pihak ketiga. kesedaran alam sekitar, kebolehurusan, skalabiliti.

Fungsi min dalam C++ mengembalikan minimum berbilang nilai. Sintaksnya ialah: min(a, b), dengan a dan b ialah nilai yang hendak dibandingkan. Anda juga boleh menentukan fungsi perbandingan untuk menyokong jenis yang tidak menyokong operator <. C++20 memperkenalkan fungsi std::clamp, yang mengendalikan minimum tiga atau lebih nilai.
