Tạo mật khẩu API

Tạo mật khẩu ngẫu nhiên an toàn bằng CSPRNG (4–256 ký tự, tối đa 100 cái mỗi lần) hoặc kiểm tra độ mạnh, entropy và thời gian bẻ khoá của mật khẩu.

GETPOSThttps://apibox.io.vn/v1/password
Bảo mật & Mã hoá▶ Dùng thử online

API Password làm hai việc. Khi không có tham số password, API sinh mật khẩu ngẫu nhiên bằng bộ sinh số ngẫu nhiên an toàn mật mã: chọn độ dài length (4–256, mặc định 16), số lượng count (1–100) và các nhóm ký tự lowercase, uppercase, numbers, symbols (mặc định bật hết; đặt false để bỏ nhóm đó). exclude_ambiguous=true loại các ký tự dễ nhầm như O, 0, I, l, 1.

Khi truyền password=..., API kiểm tra độ mạnh của mật khẩu có sẵn: trả về điểm từ 0 đến 4 kèm nhãn (very weak … very strong), entropy tính bằng bit, thời gian ước tính để bẻ khoá offline với tốc độ 10 tỷ lần thử mỗi giây, và danh sách vấn đề như ngắn hơn 8 ký tự, nằm trong danh sách mật khẩu phổ biến, lặp ký tự, chuỗi dễ đoán hoặc thiếu chữ hoa, số, ký hiệu.

Khi sinh mật khẩu, API kèm báo cáo độ mạnh của mật khẩu đầu tiên. Endpoint không lưu hay ghi log mật khẩu. Khi kiểm tra mật khẩu nhạy cảm, nên dùng POST để giá trị không xuất hiện trong URL.

Tham số

TênVị tríKiểuBắt buộcMặc định
lengthbody|querynumberkhông16Độ dài mật khẩu, 4–256.
countbody|querynumberkhông1Số mật khẩu cần tạo, 1–100.
lowercasebody|querybooleankhôngtrueDùng chữ thường a–z.
uppercasebody|querybooleankhôngtrueDùng chữ hoa A–Z.
numbersbody|querybooleankhôngtrueDùng chữ số 0–9.
symbolsbody|querybooleankhôngtrueDùng ký hiệu !@#$%^&*()-_=+[]{};:,.?/~
exclude_ambiguousbody|querybooleankhôngfalseBỏ các ký tự dễ nhầm (O 0 I l 1).
passwordbody|querystringkhôngKiểm tra độ mạnh của mật khẩu này thay vì sinh mật khẩu mới.

Ví dụ

curl "https://apibox.io.vn/v1/password?length=20&count=2" \
  -H "Authorization: Bearer YOUR_API_KEY"

Kết quả trả về

{
  "length": 20,
  "count": 2,
  "passwords": [
    "6y4#_r8i[}rNJFuHb=e4",
    "%@:$yMsZyAa^veIM6K@h"
  ],
  "strength": {
    "score": 4,
    "label": "very strong",
    "entropy_bits": 131.4,
    "crack_time_offline": "centuries",
    "issues": []
  }
}

Ứng dụng

  • Tạo mật khẩu ban đầu cho tài khoản người dùng mới
  • Sinh secret cho API, mật khẩu WiFi, mật khẩu database trong script
  • Hiển thị thanh đo độ mạnh mật khẩu ở form đăng ký
  • Rà soát mật khẩu theo quy tắc độ dài và danh sách mật khẩu phổ biến

Hỏi đáp

Mật khẩu sinh ra có thật sự ngẫu nhiên không?

Có. Mật khẩu lấy từ crypto.getRandomValues (CSPRNG) trên Cloudflare Workers, không dùng Math.random, và không bao giờ được lưu lại.

Điểm độ mạnh được tính thế nào?

Entropy = độ dài × log2(số ký tự trong các nhóm đã dùng). Điểm từ 0 (<28 bit) đến 4 (≥80 bit), bị ép về 0 nếu là mật khẩu quá phổ biến và tối đa 2 khi có từ ba vấn đề trở lên.

Có tạo được mật khẩu không có ký hiệu đặc biệt không?

Được: symbols=false. Bạn cũng có thể tắt chữ thường, chữ hoa hoặc số, và thêm exclude_ambiguous=true để mật khẩu dễ đọc, dễ gõ.

API liên quan

Bắt đầu với 1.000 request miễn phí mỗi tháng. Nhận API key miễn phí →