Bộ tạo mã API ngẫu nhiên

Tạo khóa trên máy chủ bằng các hàm ngẫu nhiên an toàn về mật mã của PHP. Chọn hex, base64url, chữ và số hoặc UUIDv4, đặt 8–128 ký tự ngẫu nhiên và thêm tiền tố như sk_live_ nếu cần. Cài đặt và tiền tố được gửi tới máy chủ; giá trị đã tạo sẽ trả về trang này.

Cách tạo khóa API

  1. 1

    Chọn độ dài đầu ra

    Đặt 8–128 ký tự ngẫu nhiên. UUIDv4 luôn dài 36 ký tự nên tùy chọn độ dài sẽ bị tắt.

  2. 2

    Chọn định dạng

    Chọn hex, base64url, chữ và số hoặc UUIDv4.

  3. 3

    Chèn tiền tố nếu bạn muốn

    Một tiền tố như sk_test_ giúp bạn phát hiện các khóa bị rò rỉ trong nhật ký và kết quả quét trên GitHub.

  4. 4

    Tạo và sao chép

    Nhấp vào “Tái tạo” cho đến khi bạn tìm được hình dạng khóa yêu thích; sau đó sao chép và lưu nó vào bộ quản lý mật của bạn.

Tại sao nên sử dụng CSPRNG

PHP tạo giá trị trên máy chủ bằng random_bytes()random_int(). Cả hai hàm được thiết kế cho tính ngẫu nhiên an toàn về mật mã. Vì vậy việc tạo khóa cần gửi yêu cầu tới trang web, không chỉ chạy trong trình duyệt.

Bảng hướng dẫn mã hóa

Định dạng Ký tự đầu ra Độ dài
Hex 0-9 a-f 8–128 ký tự
Chữ và số 0-9 A-Z a-z 8–128 ký tự
Base64url A-Z a-z 0-9 - _ 8–128 ký tự
UUIDv4 Chữ số hex và dấu gạch nối Cố định 36 ký tự

Hướng dẫn xác định kích thước

  • 128 bit (16 byte) là tiêu chuẩn cơ bản hiện đại. Tiêu chuẩn này vẫn có thể chống lại các cuộc tấn công ngày sinh ngay cả khi hàng tỷ khóa đã được tạo ra. – 256 bit (32 byte) là mức độ bảo mật tối thiểu dành cho các khóa hoặc bí mật webhook có thời gian sử dụng dài.
  • Không sử dụng giá trị entropy nhỏ hơn 96 bit cho bất kỳ token hướng công khai nào.

Những mẹo thực hành

– Lưu các khóa đã được mã hóa trong cơ sở dữ liệu (ví dụ: SHA-256); hiển thị chúng chỉ một lần khi tạo và chỉ lưu lại giá trị mã hóa đó. – Các khóa tiền tố theo môi trường: sk_live_ so với sk_test_. – Thay đổi cách thức hoạt động bằng cách cấp một khóa mới trước khi hủy bỏ khóa cũ nhằm tránh tình trạng ngừng hoạt động.

Câu hỏi thường gặp

Mỗi ký tự hex biểu diễn 4 bit, vì vậy 32 ký tự chứa 128 bit ngẫu nhiên. UUIDv4 cũng dài 128 bit nhưng chỉ có 122 bit ngẫu nhiên vì các trường phiên bản và biến thể đã được cố định.

Không. Hãy thực hiện phép mã hóa hash bằng SHA-256 hoặc Argon2 trước khi lưu dữ liệu. Khi người gọi API cung cấp khóa, hãy thực hiện phép mã hóa hash đối với giá trị đó và so sánh kết quả. Nếu cơ sở dữ liệu bị rò rỉ, kẻ tấn công chỉ có thể tiếp cận được các giá trị hash.

Có. Tiền tố được giới hạn ở 64 ký tự và đặt trước phần ngẫu nhiên. Chỉ dùng tiền tố để nhận biết loại khóa hoặc môi trường.

Trang web tạo giá trị trên máy chủ bằng random_bytes() và random_int() của PHP. Cài đặt và tiền tố tùy chọn được gửi tới máy chủ.

Công cụ liên quan

Công cụ này có phiên bản bằng các ngôn ngữ khác