Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menjana Rentetan Alfanumerik Rawak Selamat untuk Pautan Pengesahan dalam PHP?
Menjana Rentetan Abjad Angka Unik untuk Pautan Pengesahan dalam PHP
Apabila mendaftar di tapak web, anda sering menerima e-mel yang mengandungi pautan untuk mengesahkan akaun anda. Pautan ini memerlukan rentetan rawak yang unik untuk memastikan keasliannya. Begini cara untuk menjana rentetan sedemikian dalam PHP.
Menggunakan Perpustakaan Standard PHP 7 (Disyorkan)
PHP 7 memperkenalkan fungsi random_bytes($length) untuk menjana pseudo selamat secara kriptografi -bait rawak.
$bytes = random_bytes(20); var_dump(bin2hex($bytes));
PHP 5 (Lapuk)
Untuk versi PHP yang lapuk, gunakan bin2hex(openssl_random_pseudo_bytes($bytes)), yang menjana rentetan abjad angka rawak dengan panjang = $bytes * 2.
Dipertingkatkan Secara Kriptografi Selamat Fungsi
Fungsi berikut memenuhi semua kriteria keselamatan:
function getToken($length) { $token = ""; $codeAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; $max = strlen($codeAlphabet); for ($i = 0; $i < $length; $i++) { $token .= $codeAlphabet[crypto_rand_secure(0, $max - 1)]; } return $token; }
crypto_rand_secure($min, $max) menggunakan openssl_random_pseudo_bytes untuk menjana nombor rawak antara $min dan $max. getToken($length) mencipta abjad tersuai dan menghasilkan rentetan panjang $length.
Kesimpulan
Menggunakan fungsi ini, anda boleh menjana rentetan rawak dan unik yang mantap untuk pelbagai tujuan berkaitan keselamatan, seperti pautan pengesahan dan token mendapatkan kata laluan.
Atas ialah kandungan terperinci Bagaimana untuk Menjana Rentetan Alfanumerik Rawak Selamat untuk Pautan Pengesahan dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!