Công cụ tạo số ngẫu nhiên trực tuyến miễn phí
Trình tạo số ngẫu nhiên hoạt động như thế nào?
Trình tạo của chúng tôi sử dụng số ngẫu nhiên an toàn về mặt mật mã từ Web Crypto API (crypto.getRandomValues()). Không giống như Math.random() là số giả ngẫu nhiên và không phù hợp cho mục đích bảo mật hoặc thống kê, crypto.getRandomValues() cung cấp entropy thực từ nguồn hệ thống.
Tất cả quá trình tạo số diễn ra trực tiếp trong trình duyệt của bạn – không có số nào được gửi đến máy chủ.
Các tính năng của trình tạo
Cài đặt cơ bản
- Tối thiểu và tối đa – đặt bất kỳ phạm vi số nguyên hoặc số thập phân nào
- Số lượng số – tạo từ 1 đến 10.000 số cùng một lúc
- Số trùng lặp – không cho phép lặp lại số (phù hợp cho quay số)
- Sắp xếp – sắp xếp kết quả từ nhỏ nhất đến lớn nhất
- Số thập phân – chuyển sang số thập phân và đặt độ chính xác
Tùy chọn nhanh
| Tùy chọn | Phạm vi | Số lượng | Ứng dụng |
|---|---|---|---|
| 🎲 Xúc xắc | 1–6 | 1 | Trò chơi, ra quyết định |
| 🪙 Đồng xu | 0–1 | 1 | Mặt ngửa hoặc mặt sấp |
| 🎰 Xổ số | 1–45 | 6 | Mô phỏng Mega 6/45 |
| 💯 1–100 | 1–100 | 1 | Sử dụng chung |
Số ngẫu nhiên được sử dụng ở đâu?
Trò chơi và giải trí
- Trò chơi trên bàn – tung xúc xắc, chọn thứ tự
- Ra quyết định – khi bạn không biết chọn gì
- Câu đố và cuộc thi – chọn ngẫu nhiên câu hỏi hoặc người chiến thắng
- Trò chơi RPG – tạo thuộc tính nhân vật
Thống kê và khoa học
- Lấy mẫu – chọn ngẫu nhiên một mẫu từ quần thể
- Kiểm thử A/B – phân chia ngẫu nhiên vào các nhóm
- Mô phỏng Monte Carlo – ước tính xác suất
- Bootstrapping – phương pháp thống kê để lấy mẫu lại
Tin học và phát triển
- Dữ liệu kiểm thử – tạo giá trị kiểm thử
- Khởi tạo trọng số của mạng nơ-ron
- ID ngẫu nhiên – khi UUID quá lớn
- Gamification – phần thưởng ngẫu nhiên, cơ chế loot box
Số thực ngẫu nhiên so với số giả ngẫu nhiên
Math.random() | crypto.getRandomValues() | |
|---|---|---|
| Loại | Giả ngẫu nhiên | An toàn về mặt mật mã |
| Nguồn entropy | Thuật toán hạt giống | CSPRNG hệ thống |
| Tốc độ | Rất nhanh | Nhanh |
| Có thể dự đoán? | Tiềm năng có | Không |
| Phù hợp cho bảo mật? | Không | Có |
| Phù hợp cho thống kê? | Tùy thuộc | Có |
Trình tạo của chúng tôi luôn sử dụng biến thể an toàn về mặt mật mã, vì vậy kết quả phù hợp cho cả mô phỏng, tính toán thống kê hoặc quay số.
Quay số không lặp lại
Khi chọn tùy chọn „Không cho phép trùng lặp”, trình tạo sẽ đảm bảo rằng mỗi số trong phạm vi chỉ xuất hiện tối đa một lần trong kết quả. Điều này lý tưởng cho:
- Quay số – chọn người chiến thắng mà không có khả năng một người chiến thắng hai lần
- Hoán vị – sắp xếp lại các phần tử một cách ngẫu nhiên
- Bingo – rút số không lặp lại
- Xổ số Mega 6/45 – 6 số khác nhau từ phạm vi 1–45
Nếu số lượng số yêu cầu vượt quá kích thước phạm vi, trình tạo sẽ hiển thị thông báo lỗi.
Xuất kết quả
Các số đã tạo có thể được sao chép theo hai định dạng:
- Phân tách bằng dấu phẩy –
12, 45, 7, 33– phù hợp để dán vào bảng tính (Excel, Google Sheets) - Theo dòng – mỗi số trên một dòng riêng biệt – phù hợp cho các tệp văn bản hoặc xử lý bằng script
Làm thế nào để tạo số ngẫu nhiên trong mã của riêng bạn?
JavaScript / TypeScript
// Số nguyên ngẫu nhiên an toàn về mặt mật mã trong phạm vi [min, max]
function randomInt(min, max) {
const range = max - min + 1;
const arr = new Uint32Array(1);
crypto.getRandomValues(arr);
return min + (arr[0] % range);
}
// Giả ngẫu nhiên (nhanh, nhưng không an toàn)
const n = Math.floor(Math.random() * (max - min + 1)) + min;
Python
import random
import secrets
# An toàn về mặt mật mã
n = secrets.randbelow(max - min + 1) + min
# Giả ngẫu nhiên (thư viện chuẩn)
n = random.randint(min, max)
# Không lặp lại
sample = random.sample(range(min, max + 1), count)
PHP
// An toàn về mặt mật mã (PHP 7+)
$n = random_int($min, $max);
// Giả ngẫu nhiên (phương pháp cũ)
$n = rand($min, $max);
Câu hỏi thường gặp (FAQ)
Kết quả có thực sự ngẫu nhiên không?
Có. Chúng tôi sử dụngcrypto.getRandomValues(), là một trình tạo số giả ngẫu nhiên an toàn về mặt mật mã (CSPRNG) được triển khai trong trình duyệt. Kết quả được phân bố đều về mặt thống kê và không thể dự đoán được.