Công cụ tạo API key

Tạo API key ngẫu nhiên an toàn với tiền tố tùy chỉnh như sk_live_. Chữ và số, hex, Base64url hoặc Base32, độ dài tùy ý, hiển thị entropy tính bằng bit.

Tùy chọn, ví dụ sk_live_ hoặc myapp_. Giúp nhận diện khóa dễ hơn và dễ phát hiện khi bị lộ trong mã nguồn.

Đầu ra

190 bit entropy · 35 ký tự mỗi giá trị

Được tạo cục bộ bằng crypto.getRandomValues; không gửi hay lưu gì cả. Hãy lưu secret trong biến môi trường hoặc trình quản lý secret, đừng bao giờ để trong mã nguồn.

Tạo API key là gì?

Tạo API key ngẫu nhiên cho dịch vụ của riêng bạn: mặc định là 32 chữ cái và chữ số với tiền tố sk_, giống khóa mà nhiều sản phẩm SaaS cấp. Bạn có thể đổi tiền tố, bộ ký tự (chữ và số, hex, Base64url, Base32…), độ dài và số lượng khóa cần tạo. Entropy của mỗi khóa được hiển thị để bạn chắc chắn nó đủ mạnh.

Cách sử dụng Tạo API key

  1. Đặt Tiền tố (ví dụ sk_live_ hoặc myapp_) hoặc để trống.
  2. Chọn Định dạng và Độ dài (số ký tự, hoặc số byte ngẫu nhiên với định dạng hex/Base64).
  3. Đặt Số lượng khóa cần tạo và bấm Tạo lại để có khóa mới.
  4. Sao chép khóa và lưu chúng dưới dạng đã băm trên máy chủ của bạn.

Ví dụ

Đầu vào
Prefix sk_, Letters and digits, Length 32
Đầu ra
sk_7M1R2Vhc2z6q19CVQAGIOp87bJXcY0wA

190 bit entropy. Ngẫu nhiên — khóa của bạn sẽ khác.

Khi nào nên dùng Tạo API key

Dùng khi xây dựng API và cần cấp khóa cho client, hoặc khi một dịch vụ yêu cầu bạn tự đặt khóa dùng chung. Hãy nhắm tới ít nhất 128 bit entropy. Đừng dùng nó để tạo mật khẩu mà người dùng phải gõ, và đừng lưu khóa đã tạo dưới dạng văn bản thuần trong cơ sở dữ liệu.

Tạo API key hoạt động như thế nào

Tính ngẫu nhiên đến từ crypto.getRandomValues. Với định dạng ký tự, mỗi ký tự được chọn đều từ bảng chữ cái bằng lấy mẫu loại bỏ, nên entropy là length × log2(alphabet size) — 32 ký tự chữ và số cho 32 × 5,95 ≈ 190 bit. Với định dạng byte, công cụ rút N byte ngẫu nhiên rồi mã hóa (hex, Base64, Base64url hoặc Base32 theo RFC 4648), cho 8 × N bit. Tiền tố được thêm vào đầu và không làm tăng entropy.

Các Trường Hợp Sử Dụng Phổ Biến

  • Cấp API key cho khách hàng của một sản phẩm SaaS
  • Tạo khóa cho các lời gọi nội bộ giữa các dịch vụ
  • Tạo secret ký webhook
  • Tạo khóa thử nghiệm cho môi trường staging

Lưu Ý Bảo Mật

Khóa được tạo cục bộ và không bao giờ được truyền đi. Chỉ hiển thị khóa cho chủ sở hữu một lần, lưu mã hash của nó, và cho phép người dùng thu hồi và xoay vòng khóa.

Câu Hỏi Thường Gặp

API key nên dài bao nhiêu?

Ít nhất 128 bit entropy: từ 22 ký tự chữ và số trở lên hoặc từ 16 byte ngẫu nhiên trở lên. Mặc định 32 ký tự chữ và số cho khoảng 190 bit.

Vì sao nên thêm tiền tố?

Tiền tố như sk_live_ cho biết rõ khóa dùng để làm gì, giúp người dùng không nhầm khóa thử nghiệm với khóa thật, và giúp công cụ quét bí mật (như GitHub secret scanning) phát hiện khóa bị lộ.

Nên lưu API key trên máy chủ thế nào?

Chỉ lưu mã hash (ví dụ SHA-256) của mỗi khóa và so sánh hash khi có request đến, giống như với mật khẩu, để việc lộ cơ sở dữ liệu không làm lộ các khóa còn hiệu lực.

Bước tiếp theo nên làm

Khám phá thêm danh mục