Trình tạo khóa ECDSA và Ed25519
Tạo cặp khóa ECDSA (P-256/P-384) hoặc Ed25519 và ký hoặc xác minh thông điệp, xuất ra dưới dạng PEM hoặc JWK, hoàn toàn trong trình duyệt của bạn.
Trình tạo khóa ECDSA và Ed25519 — Tạo một cặp khóa đường cong elliptic, sau đó ký một thông điệp bằng khóa riêng và xác minh chữ ký bằng khóa công khai, tất cả mà không rời khỏi trang. Chọn P-256, P-384 hoặc Ed25519, xuất khóa dưới dạng PEM hoặc JWK, và xem kết quả xác minh tự cập nhật. Mỗi khóa được tạo cục bộ bằng Web Crypto API và @noble/curves, nên khóa riêng không bao giờ chạm tới máy chủ.
Trình tạo khóa ECDSA và Ed25519 là gì?
Trình tạo khóa ECDSA và Ed25519 là một công cụ miễn phí chạy trong trình duyệt để tạo cặp khóa đường cong elliptic và thực hành chữ ký số. Lập trình viên, kỹ sư bảo mật và sinh viên dùng nó để kiểm thử luồng ký và xác minh, tạo khóa cho JWT hoặc các quy trình kiểu SSH, và tìm hiểu sự khác biệt giữa ECDSA và EdDSA mà không cần cài đặt OpenSSL. Chọn một đường cong từ menu Đường cong, nhấp Tạo để đúc một cặp khóa mới, rồi sao chép khóa công khai và khóa riêng ở định dạng PEM hoặc JWK. Sau đó nhập một thông điệp, nhấp Ký để tạo chữ ký Base64, và công cụ sẽ tự động xác minh nó với khóa công khai, hiển thị chữ ký có hợp lệ hay không. P-256 và P-384 được xử lý bởi ECDSA Web Crypto gốc của trình duyệt, trong khi Ed25519 được tính toán bởi thư viện @noble/curves, chỉ được tải khi bạn chọn nó.
Cách sử dụng Trình tạo khóa ECDSA và Ed25519
- Chọn một đường cong từ menu Đường cong: P-256 hoặc P-384 (ECDSA qua Web Crypto) hoặc Ed25519 (EdDSA).
- Chọn PEM hoặc JWK làm định dạng xuất cho khóa.
- Nhấp Tạo khóa để đúc một cặp khóa ngẫu nhiên mới; khóa công khai và khóa riêng xuất hiện bên dưới.
- Sao chép khóa công khai hoặc khóa riêng bằng nút sao chép để dùng ở nơi khác.
- Nhập một thông điệp và nhấp Ký để tạo chữ ký Base64.
- Đọc kết quả xác minh: công cụ tự kiểm tra chữ ký với khóa công khai và cho bạn biết nó có hợp lệ hay không.
Ví dụ
Tạo cặp khóa P-256 dạng PEM
Đầu vào
Đường cong: P-256, Định dạng: PEM, nhấp Tạo khóa
Đầu ra
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcD... -----END PUBLIC KEY-----
Ký và xác minh một thông điệp bằng Ed25519
Đầu vào
Đường cong: Ed25519, thông điệp: "hello noble", nhấp Ký
Đầu ra
Chữ ký (Base64): 3Lq8...== — kết quả xác minh: Chữ ký hợp lệ.
Xuất khóa công khai Ed25519 dưới dạng JWK
Đầu vào
Đường cong: Ed25519, Định dạng: JWK
Đầu ra
{ "kty": "OKP", "crv": "Ed25519", "x": "11qYAYK..." }Câu hỏi thường gặp
- Khóa riêng có được gửi đi đâu không?
- Không. Việc tạo khóa, ký và xác minh đều chạy cục bộ trong trình duyệt của bạn bằng Web Crypto API (cho P-256/P-384) và thư viện @noble/curves (cho Ed25519). Khóa riêng chỉ được giữ trong bộ nhớ trên trang này, không bao giờ được tải lên, và biến mất khi bạn đóng tab, nên công cụ hoạt động ngoại tuyến.
- Sự khác biệt giữa ECDSA và Ed25519 là gì?
- ECDSA trên P-256/P-384 là chuẩn NIST lâu đời được dùng bởi chứng chỉ TLS và nhiều JWT. Ed25519 là một sơ đồ EdDSA hiện đại, nhanh hơn, có chữ ký kích thước cố định và tránh được một số cạm bẫy của ECDSA. Hãy chọn loại mà hệ thống đích của bạn yêu cầu.
- PEM và JWK nghĩa là gì?
- PEM bọc khóa nhị phân trong một khối văn bản Base64 với phần đầu BEGIN/END, dạng mà OpenSSL và hầu hết máy chủ mong đợi. JWK là một đối tượng JSON mô tả khóa, phổ biến trong ngữ cảnh web và OAuth/JWT. Hãy đổi định dạng trước khi tạo để có được kiểu mã hóa bạn cần.
- Chữ ký được mã hóa như thế nào?
- Chữ ký được hiển thị dưới dạng Base64. Với ECDSA, đó là giá trị r||s thô do Web Crypto tạo ra; với Ed25519, đó là chữ ký EdDSA 64 byte. Bạn có thể dán một chữ ký Base64 trở lại trường để xác minh nó với khóa công khai đã tạo.
- Tôi có thể xác minh một chữ ký được tạo ở nơi khác không?
- Bạn có thể xác minh với cặp khóa được tạo tại đây: dán thông điệp của bạn và một chữ ký Base64, công cụ sẽ kiểm tra nó với khóa công khai tương ứng. Việc nhập một cặp khóa bên ngoài không được hỗ trợ trong công cụ này.
Công cụ liên quan
Mã hóa văn bản AES (AES-GCM + PBKDF2)
Mã hóa và giải mã văn bản bằng AES-256-GCM với khóa được suy ra từ cụm mật khẩu (PBKDF2 SHA-256, muối ngẫu nhiên), hoàn toàn trong trình duyệt của bạn và không tải lên gì cả.
Hash Argon2 & scrypt
Băm một mật khẩu bằng Argon2id hoặc scrypt và xác minh một hash Argon2 với một mật khẩu, hoàn toàn trong trình duyệt của bạn.
Trình tạo và xác minh hash Bcrypt
Tạo hash mật khẩu bcrypt từ văn bản thuần với hệ số chi phí bạn chọn, hoặc xác minh một mật khẩu với một hash bcrypt đã có, hoàn toàn trong trình duyệt của bạn.
Trình tạo mnemonic BIP39
Tạo một cụm từ khôi phục BIP39 ngẫu nhiên gồm 12 đến 24 từ ở nhiều ngôn ngữ, hoặc chuyển một mnemonic hiện có trở lại entropy thô của nó, hoàn toàn trong trình duyệt của bạn.