Hướng dẫn dùng define rand trong PHP
Vietnamese (Tiếng Việt) translation by Vy Cam Nguyen (you can also view the original English article) Show
Nội dung chính
Hãy
để tôi bắt đầu bài viết này bằng việc nói rằng hầu như không có sự kiện nào thực sự ngẫu nhiên. Ngay cả kết quả của trò tung đồng xu kinh điển về mặt lý thuyết cũng có thể được dự đoán nếu chúng ta biết tác động của mọi yếu tố liên quan, như ma sát không khí, trọng lực và lực ban đầu. Việc tạo ra các chuỗi ngẫu nhiên gồm chữ và số cũng có nguyên tắc tương tự. Điều tốt đẹp nhất có thể chờ đợi là tạo ra những số và chuỗi không tuân theo một pattern(hình mẫu) và một kẻ tấn công về thực tiễn sẽ không thể đoán ra. Trong hướng dẫn này, chúng tôi sẽ đề cập đến các kỹ thuật khác nhau để tạo số và chuỗi ký tự chữ ngẫu nhiên trong PHP. Một số trong số chúng sẽ được mã hóa, trong khi một số khác chỉ dành cho nhu cầu thông thường, như gán tên file giả ngẫu nhiên hoặc tạo URL và đề xuất username(tên người dùng). Tạo ra các số ngẫu nhiên trong PHPCó ba hàm khác nhau để tạo số ngẫu nhiên trong PHP. Tất cả các hàm đó sẽ nhận một
giá trị tối thiểu và tối đa có thể cho các số ngẫu nhiên và trả về một số ngẫu nhiên cho bạn. Đó là Với Với Hàm này thậm chí còn trở nên tốt hơn trong PHP 7.2.0 bằng cách loại bỏ lỗi
modulo. Điều này có nghĩa là đối với một số seed cụ thể, chuỗi số ngẫu nhiên của bạn bây giờ sẽ tốt hơn một chút so với các phiên bản cũ hơn. Măc dù một số code chuyên dụng thực sự có thể dựa vào khuynh hướng này. Nếu vậy, bạn có thể sử dụng thuật toán seed cũ hơn bằng cách gọi hàm Hàm 187 3276 1267 15 1267 34598 3467 125 17 Trong chuỗi trên, chúng tôi đã có 1267 hai lần trong kết quả, nhưng điều đó không có nghĩa là toàn bộ chuỗi bắt đầu lặp lại sau đó. Không thể có cùng một số lặp lại sớm như vậy trong một chuỗi ngẫu nhiên, nhưng điều đó có thể! Số nguyên ngẫu nhiên được mã hóa an toànNếu bạn muốn các số pseudo (giả) ngẫu nhiên được bảo mật bằng mã hóa, hàm Các số float ngẫu nhiênThay vì tạo integer ngẫu nhiên, có thể bạn cũng muốn tạo số float. Điều này có thể được thực hiện dễ dàng bằng cách chia một số ngẫu nhiên với giá trị được trả về bởi Khi tạo số float ngẫu nhiên giữa các giới hạn nhất định, chúng tôi đảm bảo rằng các integer
ngẫu nhiên không vượt quá Seed cho trình tạo số ngẫu nhiênMột khái niệm cần một chút giải thích là seeds. Nói một cách đơn giản, đây chỉ là những số có thể được sử dụng để khởi tạo các hàm Điều quan trọng cần nhớ là việc cung cấp một giá trị seed ban đầu mỗi lần trước khi gọi Seed một số ngẫu nhiên rất hữu ích trong các tình huống mà bạn muốn tạo một chuỗi ngẫu nhiên nhưng có thể lặp lại. Đoạn mã sau tạo ra cùng một chuỗi các số ngẫu nhiên khi chạy hai lần.
|