Trong PHP7 đã bổ sung hai hàm dùng để tạo giá trị ngẫu nhiên đó là hàm random_int() và random_bytes(), về chức năng thì nó giống hàm rand() trong PHP vậy.
- random_bytes : trả về định dạng byte
- random_int: trả về một số ngẫu nhiên
1. Hàm random_bytes trong PHP7
Hàm random_bytes
sinh ra ngẫu nhiên một chuỗi dạng byte nên rất phù hợp sử dụng trong mã hóa. Nếu bạn echo kết quả thì sẽ sinh ra những ký tự kiểu binary không thể nào đọc được.
Cú pháp:
string random_bytes ( int $length )
Bài viết này được đăng tại [kiso.vn]
Trong đó $length
là chiều dài của chuỗi trả về.
Ví dụ:
<?php $bytes = random_bytes(10); echo $bytes; echo '<br/>'; echo (bin2hex($bytes)); ?>
Trong ví dụ thứ hai mình dùng hàm bin2hex để chuyển chuỗi binary đó sang mã hexadecimal.
2. Hàm random_int trong PHP7
Hàm này sinh ra một số nằm trong khoảng min max nào đó, kết quả trả về kiểu INT (kiểu INT là thuộc hệ cơ số 10 nên việc trình bày và tính toán nó tương đối dễ hiểu).
Cú pháp:
int random_int ( int $min , int $max )
Trong đó $min
và $max
là khoảng mà kết quả trả về sẽ nằm trong đó.
Ví dụ:
<?php echo random_int(10, 2000); echo '<br/>'; echo random_int(-2000, 2000); ?>
3. Lời kết
Cá nhân mình thấy việc tạo số kiểu INT ngẫu nhiên trong PHP đã có hàm rand rồi nên trong hai hàm này thì hàm random_bytes là mới lạ hơn hàm random_int.
Danh sách file tải về
Tên file tải về | Pass giải nén |
---|---|
Tải bài học định dạng PDF | kiso.vn hoặc gameportable.net |
Bài viết liên quan
[CSF-2] Một số thiết lập CSF, LFD
Hôm nay mình sẽ thực hiện một số thiết lập trên CSF Mở file config để sửa đổi một số tính năng dưới /etc/csf/csf.conf Nội dung chính1. Hàm random_bytes trong PHP72. Hàm random_int trong PHP73....
[CSF-1] Tăng bảo mật Server với ConfigServer Firewall (CSF)
Nội dung chính1. Hàm random_bytes trong PHP72. Hàm random_int trong PHP73. Lời kết1. Khái niệm CSF: CSF (ConfigServer & Firewall) là một bộ ứng dụng hoạt động trên Linux như một firewall được phát hành...
Sử dụng SSH Key với Gitlab và Github
Bài viết này mình sẽ hướng dẫn các bạn tạo ssh key cho Gitlab và Github SSH là gì? Secure Socket Shell là một giao thức mạng dùng để thiết lập kết nối mạng một...
Directory traversal vulnerabilities (phần 4)
Nội dung chính1. Hàm random_bytes trong PHP72. Hàm random_int trong PHP73. Lời kếtV. Phân tích và khai thác các lỗ hổng Directory traversal (tiếp) 5. Bypass lỗ hổng khi trang web sử dụng đường dẫn...
Directory traversal vulnerabilities (phần 3)
Nội dung chính1. Hàm random_bytes trong PHP72. Hàm random_int trong PHP73. Lời kếtV. Phân tích và khai thác các lỗ hổng Directory traversal 1. Lỗ hổng xảy ra khi sử dụng các hàm đọc file...
Directory traversal vulnerabilities (phần 2)
Nội dung chính1. Hàm random_bytes trong PHP72. Hàm random_int trong PHP73. Lời kếtIII. Vì sao lỗ hổng Directory traversal xuất hiện? Với mỗi ngôn ngữ lập trình khác nhau, điểm xuất hiện các lỗ hổng...