Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Chương trình PHP các cách tạo chuỗi ngẫu nhiên

Cách 1: Sử dụng bin2hex + random_bytes

<?php
$num = 12;
$res = bin2hex(random_bytes($num));
print_r("The randomly generated string is: ");
echo $res;
?>

Kết quả

The randomly generated string is: f1db16115fa93b98493d388b

random_bytes($num) sinh $num byte ngẫu nhiên an toàn mật mã. bin2hex() chuyển thành chuỗi hex (2 ký tự/byte). Kết quả độ dài 2*$num ký tự.

Cách 2: Sử dụng hàm băm (hashing)

<?php
$my_str = rand();
$res = sha1($my_str);
print_r("The randomly generated string using hashing function sha1 is: ");
echo $res;
?>

Kết quả

The randomly generated string using hashing function sha1 is: 9a4a73c35ac034832332977f3d5accd8eace5260

rand() sinh số ngẫu nhiên, sha1() băm thành chuỗi 40 ký tự hex. Không an toàn mật mã do rand() dự đoán được.

Cách 3: Sử dụng uniqid() built-in

<?php
$res = uniqid();
print_r("The randomly generated string using uniqid function is: ");
echo $res;
?>

Kết quả

The randomly generated string using uniqid function is: 5ed4b884cef34

uniqid() sinh ID duy nhất dựa trên microtime hiện tại (13 ký tự hex). Không an toàn mật mã, không nên dùng cho token bảo mật.

Khuyến nghị: Dùng random_bytes() + bin2hex() hoặc random_int() cho mục đích bảo mật. uniqid() chỉ dùng cho ID duy nhất không nhạy cảm.