Giới thiệu về trình tạo này
Cài đặt trước này tạo một giá trị entropy cao URL-safe cho việc ký HMAC JWT. Đây là bí mật nhà phát triển, không phải mật khẩu người dùng và không bao giờ rời khỏi trình duyệt này.
Cài đặt sẵn này bắt đầu với chế độ url-safe và tạo 10 kết quả độc lập mỗi lần. Mọi cài đặt hiển thị đều có thể điều chỉnh và các giá trị được tạo không được gửi đến PwdGen.
Khi nào nên sử dụng
- Tạo thông tin đăng nhập mới cho trường hợp sử dụng cụ thể này
- Thay thế mật khẩu yếu hoặc đã dùng lại
- Tạo giá trị cục bộ trước khi lưu trữ an toàn
Kích thước bảng chữ cái, entropy và giả định brute-force
Trần entropy lý thuyết được tính là H = L × log2(A), trong đó L là độ dài được tạo và A là số ký tự hiện được phép.
| Độ dài | Bảng chữ cái | Không gian tìm kiếm | Trần entropy | Trung bình ở 10 tỷ lần đoán/giây |
|---|---|---|---|---|
| 64 | 64 | 6464 | 384.0 bit | 6.24e97 years |
Quan trọng: đây là các ước tính toán học cho các giá trị ngẫu nhiên đồng nhất. Các vị trí bắt buộc, số lượng hạn chế, mật khẩu lặp lại, mẫu từ điển, thông tin xác thực bị rò rỉ và chi phí băm mật khẩu thực tế có thể thay đổi kết quả đáng kể. Con số này không phải là một đảm bảo bảo mật.
Hướng dẫn triển khai khóa ký JWT
Đối với HS256, hãy sử dụng ít nhất 256 bit vật liệu khóa ngẫu nhiên đồng nhất. HS384 và HS512 sử dụng kích thước đầu ra SHA-2 khác nhau, nhưng chọn thuật toán dài hơn không sửa chữa được xác minh yếu, khóa bị rò rỉ hoặc lỗi nhầm lẫn thuật toán.
Tạo tương đương trong terminal và Node.js
openssl rand -hex 32 import { randomBytes } from 'node:crypto';
const jwtSecret = randomBytes(32).toString('hex'); Lưu trữ và luân chuyển
- Giữ khóa ký ra khỏi Git, gói frontend, URL, phân tích và nhật ký ứng dụng.
- Sử dụng trình quản lý bí mật, Vault, KMS hoặc biến môi trường được bảo vệ.
- Sử dụng chiến lược kid có kiểm soát khi luân chuyển khóa.
- Chọn RS256 hoặc ES256 khi người xác minh chỉ nên giữ khóa công khai.
Hex, Base64 và Base64URL là các mã hóa—không phải mã hóa. Bảo mật đến từ các byte ngẫu nhiên và cách khóa ký được bảo vệ.
Cách sử dụng kết quả một cách an toàn
- Kiểm tra quy tắc mật khẩu hiện tại của đích đến
- Sử dụng kết quả duy nhất và bật MFA nếu có
- Lưu trữ mã khôi phục riêng biệt với mật khẩu
Phương pháp tạo và quyền riêng tư
Cài đặt sẵn sử dụng Web Crypto API của trình duyệt để chọn ngẫu nhiên. Việc tạo lại, thay đổi cài đặt, chọn và sao chép kết quả không gửi thông tin xác thực được tạo đến PwdGen. Công cụ ước tính thời gian bẻ khóa mật khẩu cũng chạy cục bộ và là ước tính, không phải đảm bảo.
Trình tạo bí mật Jwt FAQ
Bí mật HS256 JWT nên dài bao nhiêu?
Sử dụng ít nhất 256 bit vật liệu khóa ngẫu nhiên đồng nhất cho HS256. Trang này tạo một giá trị bảng chữ cái Base64URL 64 ký tự, cung cấp không gian tìm kiếm lý thuyết lớn hơn khi được tạo đồng nhất.
Bí mật JWT có nên được lưu trữ trong biến môi trường không?
Biến môi trường an toàn hơn mã nguồn nhưng vẫn có thể rò rỉ qua kiểm tra tiến trình, nhật ký hoặc công cụ triển khai. Kho lưu trữ bí mật được quản lý hoặc KMS là tốt hơn cho hệ thống sản xuất.
Khi nào tôi nên sử dụng RS256 hoặc ES256 thay vì HMAC?
Sử dụng ký bất đối xứng khi người xác minh không nên sở hữu khóa ký riêng tư hoặc khi nhiều dịch vụ cần xác minh khóa công khai. Bảo vệ khóa riêng tư và xoay vòng khóa với chiến lược định danh khóa được kiểm soát.