Hệ sinh thái Volade — Công cụ Web

Trình mã hóa / giải mã JWT

Giải mã JWT ngay lập tức: tiêu đề, payload và chữ ký hiển thị dạng JSON thụt lề với các claim được nhận diện, xác minh chữ ký HS256 bằng bí mật hoặc RS256 / ES256 bằng khóa công khai PEM, mã hóa và ký token mới, chuyển đổi thời hạn thành ngày dễ đọc. Miễn phí, không đăng ký và 100 % cục bộ: token của bạn không bao giờ rời khỏi trình duyệt.

6 chế độ xử lý0 byte được gửi lên máy chủ∞ token, không giới hạn kích thước
Công cụ

Trình giải mã JWT trực tuyến của bạn

Dán một token, một header, một payload hoặc chuỗi lấy từ tiêu đề Authorization: việc giải mã được cập nhật sau mỗi phím gõ, không cần nút « Chuyển đổi ».

Trình mã hóa / giải mã JWT

Trực tuyến Phát triển, Code & Data
Đăng nhập
Phím tắt : Ctrl+Enter tính
Sẵn sàng.

                  

                  
Chữ ký không được giải mã: nó được xác minh bằng bí mật hoặc khóa công khai trong thẻ « Xác minh ».
ClaimGiá trịKiểuVai trò
Giải mã, xác minh và ký chạy trong lúc bạn gõ · Ctrl+Enter tính lại thẻ đang hoạt động · WebCrypto gốc, không thư viện bên ngoài · 100 % cục bộ, không gì rời khỏi thiết bị của bạn.
0,0 0Bình luận Tất cả công cụ
Miễn phí hay Premium ?

Trình giải mã JWT miễn phí và không giới hạn: không cần tài khoản, không phải cài đặt gì, không có request mạng nào. Premium mở khóa toàn bộ hệ sinh thái Volade.

Miễn phíGiải mã theo thời gian thực header, payload và claims
Miễn phíXác minh HMAC HS256 / HS384 / HS512 và khóa công khai PEM
Miễn phíMã hóa và ký token mới, chuyển đổi thời hạn
PremiumĐồng bộ đám mây được mã hóa cho lịch sử và snippet
PremiumTruy cập API và script dùng chung giữa các công cụ trong hệ sinh thái
Mở khóa Premium
Tính năng

Giải mã, xác minh và mã hóa JWT, không giới hạn

Một động cơ duy nhất bao quát việc đọc, kiểm tra tính toàn vẹn và tạo ra token — không bao giờ rời khỏi thiết bị của bạn.

Giải mã header, payload và chữ ký

Dán một token — kể cả khi viết hoa, kể cả khi có tiền tố Bearer hay dấu ngoặc kép — và tiêu đề cùng payload hiện ra dạng JSON thụt lề trong lúc bạn gõ. Mỗi claim được liệt kê kèm giá trị, kiểu và vai trò, các mốc thời gian được chuyển sang ISO 8601 cùng thời gian còn lại, còn chữ ký kèm theo được hiển thị nguyên trạng.

Giải mã ngay

Xác minh chữ ký một cách thật sự

Việc kiểm tra không phải để trang trí: MAC được tính lại trên chuỗi chính xác header.payload, rồi so sánh với chữ ký theo kiểu so sánh hằng thời gian. HS256, HS384 và HS512 dùng bí mật dùng chung; RS256, RS384, RS512, ES256, ES384 và PS512 dùng khóa công khai PEM ở định dạng SPKI. Kết luận rõ ràng: hợp lệ, không hợp lệ, hoặc thiếu thông tin.

Xác minh chữ ký

Bảo mật tuyệt đối

Không có request mạng nào: giải mã, xác minh và ký chạy hoàn toàn trong trình duyệt của bạn, kể cả khi ngoại tuyến. Hoàn hảo cho một token của môi trường sản xuất, một khóa staging hay một token phiên chứa mã nhận dạng mà bạn không muốn giao cho bất kỳ ai — kể cả chính công cụ này.

Tìm hiểu thêm
Cách hoạt động

Giải mã, xác minh hay tạo token trong ba bước

Không cài đặt, không đăng ký: công cụ luôn sẵn sàng, trên cả mobile lẫn máy tính.

Dán token

Lấy giá trị sau « Authorization: Bearer » hoặc từ cookie của bạn, dán vào thẻ « Giải mã »: ba phân đoạn được tách và giải mã ngay lập tức. Tiền tố Bearer, dấu ngoặc kép hay xuống dòng đều được tự động loại bỏ.

Kiểm tra tính toàn vẹn

Chuyển sang « Xác minh », chọn thuật toán do tiêu đề công bố, nhập bí mật hoặc khóa công khai: công cụ sẽ tính lại MAC và đưa ra kết luận. Đây là bước mà mọi người đều bỏ qua — và cũng là bước duy nhất thực sự bảo vệ nội dung.

Tạo một token

Trong « Mã hóa », hãy sửa payload, chỉnh exp và iat bằng thẻ « Thời hạn », ký bằng HS256: token hiện ra sẵn sàng để sao chép. Lịch sử cục bộ giữ các token gần nhất của bạn để nạp lại chỉ bằng một nhấp.

Tham chiếu nhanh

Một JWT trong nháy mắt

Điều hầu hết nhà phát triển kiểm tra trước khi đọc một token — với phần giải phẫu đầy đủ trong thẻ « Giải phẫu & tham chiếu ».

Phân đoạnVai tròKiểu mã hóaVí dụ
1tiêu đề (alg, typ)Base64URLeyJhbGciOiJIUzI1NiJ9
2payload (claims)Base64URLeyJzdWIiOiIxMjM0NTY3ODkwIn0
3chữ kýBase64URLSflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV…
expthời hạnUnix (s)1793827200 → 2026-11-04
HS256HMAC + SHA-256bí mật dùng chungtối thiểu 32 byte
RS256RSA + SHA-256khóa công khai PEMxác minh bất đối xứng
« + » trong Base64—Base64URLđổi thành « - »
« / » trong Base64—Base64URLđổi thành « _ »

« Giải mã JWT » nghĩa là gì ?

Giải mã một JWT (« jwt decode », « decode jwt online ») nghĩa là cắt chuỗi tại hai dấu chấm, rồi giải mã từng phân đoạn từ Base64URL để tìm lại JSON ban đầu. Không cần khóa nào: tiêu đề và payload chỉ được chuyển mã, không được mã hóa bí mật — ai cũng đọc được. Đó chính xác là ý định đằng sau « jwt payload decoder » hay « decode jwt without verify » — xem token chứa gì, mà không tự cho rằng nó là thật.

Hãy phân biệt rõ ràng hai hành động này. Đọc một JWT không chứng minh được điều gì: bất kỳ ai cũng có thể tạo ra một token với payload hấp dẫn rồi ký bằng bí mật riêng của mình. Xác minh chữ ký chứng minh rằng nội dung không bị bên thứ ba sửa đổi. Một trình giải mã hiển thị « admin: true » mà không kiểm tra chữ ký đang kể cho bạn một câu chuyện, không phải một sự thật.

Ba phân đoạn của một JWT

Chuỗi được cắt thành đúng ba phần phân cách bằng dấu chấm: header.payload.signature. Tiêu đề chứa ít nhất alg và typ, đôi khi kid để chỉ rõ khóa nào đã được dùng. Payload chứa các claims, những cặp khóa-giá trị mà sổ đăng ký do IANA quản lý. Chữ ký phủ hai phân đoạn đầu được nối chính xác đúng theo dạng viết — chỉ cần thay đổi một dấu cách hay một ký tự là so sánh thất bại.

Toàn bộ khó khăn nằm ở chỗ các phân đoạn này là Base64URL chứ không phải Base64: dấu cộng thành gạch nối, dấu gạch chéo thành gạch dưới, còn phần đệm = thì biến mất. Do đó một trình giải mã Base64 chuẩn sẽ thất bại trên một JWT hoàn toàn hợp lệ. Bảng « Base64URL so với Base64 chuẩn » trong thẻ tham chiếu chỉ rõ đúng các thay thế này.

Cách xác minh chữ ký: HS256, RS256, ES256

Với thuật toán HMAC — HS256, HS384, HS512 — cùng một bí mật dùng để ký cũng như để xác minh: công cụ tính lại HMAC(secret, base64url(header) + "." + base64url(payload)) và so sánh kết quả với chữ ký kèm theo. Đây là trường hợp phổ biến nhất, đồng thời cũng nguy hiểm nhất: mọi dịch vụ nắm giữ bí mật đều có thể phát hành token. Một bí mật dưới 32 byte, tái sử dụng giữa các môi trường, đủ để phá vỡ toàn bộ chuỗi.

Với các thuật toán bất đối xứng — RS256, RS384, RS512, ES256, ES384, ES512, PS256 — bạn chỉ cần khóa công khai để xác minh, nhờ đó kiểm tra được một token do bên thứ ba phát hành mà không bao giờ phải chia sẻ bí mật ký của nó. Dán khóa ở định dạng PEM -----BEGIN PUBLIC KEY----- (SPKI); kết quả thô từ một lần export OpenSSL dùng được ngay. Với ES256, chữ ký ở dạng r||s thô, đúng dạng mà WebCrypto mong đợi.

Cuối cùng, hãy cảnh giác với alg confusion : nếu dịch vụ của bạn mong đợi RS256 nhưng lại chấp nhận một token mà tiêu đề khai báo HS256, kẻ tấn công sẽ ký bằng khóa công khai — vốn đã trở thành khóa HMAC — và vượt qua được bước xác minh. Hãy ghim thuật toán mong đợi ở phía máy chủ, đừng bao giờ đọc nó từ chính token.

exp, iat, nbf: những mốc thời gian dễ gây nhầm lẫn

Ba claim này là các giây Unix, không mili giây và không múi giờ: iat 1516239022 nghĩa là 2018-01-17T21:30:22Z. Hai lỗi lặp đi lặp lại: so sánh với một mốc thời gian tính bằng mili giây (giá trị lớn gấp vạn lần) và hiểu một timestamp theo giờ địa phương thay vì UTC. Thẻ « Thời hạn » chuyển đổi cả hai chiều, hiển thị ISO 8601, ngày địa phương cùng thời gian còn lại hoặc đã trôi qua — đủ để nhận ra ngay một token « đã hết hạn » đến từng giây.

Kéo dài thời gian hiệu lực không làm tăng mức bảo mật: một exp bị đẩy lùi chỉ thay đổi giá trị hiển thị, không thay đổi chữ ký. Nếu bạn phải phát hành lại, hãy ký lại token bằng bí mật hoặc khóa riêng — đó chính xác là vai trò của thẻ « Mã hóa ».

Base64URL: tại sao các trình giải mã chuẩn thất bại

Base64URL (RFC 4648 §5) dùng bảng chữ cái A-Z a-z 0-9 - _ và không chấp nhận phần đệm. Một payload 20 ký tự thường cho ra độ dài không phải bội của bốn sau khi bỏ = : đây là điều bình thường, không phải dữ liệu hỏng. Các ký tự - và _ gây dễ nhầm lẫn với mắt người, điều giải thích phân nửa số « token hỏng » được báo lại. Trình giải mã của chúng tôi chấp nhận cả hai bảng chữ cái, chữ hoa chữ thường lẫn lộn, phần đệm tùy chọn và tiền tố Bearer.

Bảo mật: những gì JWT không làm được

JWT không mang lại cả tính riêng tư lẫn khả năng thu hồi. Payload ai cũng đọc được: tuyệt đối không đặt e-mail, quyền nội bộ hay dữ liệu cá nhân mà bạn không dám gửi ở dạng plaintext. Và một token đã ký vẫn hợp lệ cho đến exp kể cả sau khi đăng xuất — khi đó cần một danh sách thu hồi, một jti cơ chế theo dõi ở phía máy chủ, hoặc thời hạn ngắn kèm refresh token. Một thói quen tốt: exp ngắn (10 đến 15 phút), iat được kiểm soát, nbf canh theo iat, aud và iss được kiểm tra khi nhận.

Dành cho

Lập trình viên back-end và front-end (OAuth 2.0, OpenID Connect, API REST), người tích hợp và DevOps (hạ tầng danh tính, JWKS, xoay vòng khóa), tester và pentester (viết lại claims, alg confusion, hết hạn), quản trị viên hệ thống (gỡ lỗi một 401 không rõ nguyên nhân), sinh viên (hiểu Base64URL và WebCrypto), và bất kỳ ai cần một trình giải mã JWT trực tuyến nhanh, đầy đủ và bảo mật — kèm theo trình mã hóa / giải mã Base64, và trình mã hóa / giải mã URL và trình định dạng JSON.

FAQ

Các câu hỏi thường gặp về trình giải mã JWT

Mọi điều bạn muốn biết trước khi giải mã, xác minh hay ký một token.

Làm sao để giải mã JWT trực tuyến ?

Dán token vào thẻ « Giải mã »: tiêu đề, payload và chữ ký tách ra ngay trước mắt, rồi mỗi phần Base64URL được giải mã thành JSON thụt lề. Các claim chuẩn (iss, sub, exp, iat, nbf, jti) được liệt kê trong bảng kèm kiểu và vai trò, còn các mốc thời gian hiển thị theo ISO 8601 cùng thời gian còn lại hoặc đã trôi qua.

Làm sao để xác minh chữ ký của một JWT ?

Trong thẻ « Xác minh », chọn thuật toán do token công bố. Với HS256, HS384 và HS512, nhập bí mật dùng chung: công cụ tính lại HMAC trên chuỗi header.payload và so sánh với chữ ký kèm theo. Với RS256, RS384, RS512, ES256, ES384 và PS256, dán khóa công khai PEM ở định dạng SPKI. Kết quả hiển thị « Chữ ký hợp lệ » hoặc « Chữ ký không hợp lệ » kèm lý do.

Có thể mã hóa và ký JWT tại đây không ?

Được. Trong thẻ « Mã hóa », hãy sửa tiêu đề JSON và payload JSON, chọn thuật toán rồi nhập bí mật dùng chung: token đã ký hiện ra ngay lập tức, sẵn sàng để sao chép hoặc tải về dạng jwt.txt. Thuật toán HS256, HS384, HS512 và none được hỗ trợ cho việc ký, các thuật toán còn lại dùng cho việc xác minh.

JWT (JSON Web Token) là gì và ba phần của nó dùng để làm gì ?

JWT (JSON Web Token) là một chuỗi gồm ba phân đoạn cách nhau bằng dấu chấm: tiêu đề khai báo thuật toán và kiểu, payload mang các claims, còn chữ ký bảo đảm rằng không có gì bị sửa đổi. Hai phân đoạn đầu là JSON được mã hóa Base64URL — chỉ là biến đổi, không phải mã hóa bí mật: ai cũng đọc được. Chỉ chữ ký bảo vệ tính toàn vẹn.

Đọc các claim exp, iat và nbf như thế nào ?

exp, iat và nbf là các mốc thời gian Unix bằng giây, không phải ngày ISO. Thẻ « Giải mã » tự động chuyển chúng sang ISO 8601 và sang thời gian tương đối (« hết hạn sau 2 ngày 03:00:00 »), còn thẻ « Thời hạn » chuyển đổi hai chiều giữa một timestamp và một ngày dễ đọc, nhờ đó bạn kiểm tra được một token tưởng như không hợp lệ hay tạo ra đúng khoảng thời gian hiệu lực.

Base64 và Base64URL khác nhau như thế nào ?

Base64URL thay dấu cộng bằng gạch nối và dấu gạch chéo bằng gạch dưới, rồi bỏ phần đệm « = ». Điều này bắt buộc trong JWT vì một dấu chấm, một dấu cộng hay một dấu gạch chéo sẽ làm hỏng cách chia thành ba phân đoạn. Cũng chính vì thế mà một số trình giải mã chuẩn thất bại trên một payload hoàn toàn hợp lệ.

Một JWT đã giải mã có phải là mật khẩu không ?

Không. Payload của một JWT đơn giản là Base64URL nên đọc được toàn bộ mà không cần khóa: đừng bao giờ bỏ vào đó mã nhận dạng, e-mail, quyền hay quyền hạn. Chữ ký không mã hóa nội dung, nó xác thực nội dung. Muốn giữ bí mật ở phía client thì cần một cơ chế mã hóa đối xứng riêng — JWT không được tạo ra cho việc đó.

Công cụ có gửi token của tôi lên máy chủ không ?

Không: giải mã, xác minh và ký chạy trong trình duyệt của bạn bằng WebCrypto, không có request mạng nào và không cần tài khoản. Điều này đặc biệt quan trọng với một token của môi trường sản xuất, vốn thường chứa mã nhận dạng phiên. Lịch sử nằm trong bộ nhớ cục bộ của thiết bị và có thể xóa bằng một nhấp.

Trình giải mã JWT 100 % cục bộ: token của bạn không bao giờ rời khỏi máy tính

Khác với các trình giải mã JWT trực tuyến thông thường, không có chuỗi nào được truyền đi: giải mã, xác minh chữ ký và mã hóa chạy hoàn toàn trong trình duyệt qua WebCrypto, không thư viện bên thứ ba, không request mạng. Chính điều này cho phép bạn kiểm tra một token phiên thật, một khóa staging hay một token dịch vụ nội bộ một cách an toàn, kể cả khi ngoại tuyến hay trên mạng công cộng. Lịch sử và lần nhập cuối cùng được lưu cục bộ (localStorage) và luôn ở trên thiết bị của bạn.

Giấy phép Premium Volade thêm tùy chọn đồng bộ đám mây, được mã hóa, độc lập với công cụ — phần còn lại vẫn miễn phí và không giới hạn, không cần đăng ký.

Một giấy phép premium, tất cả công cụ web của bạn

Trình giải mã JWT, trình mã hóa / giải mã URL, trình mã hóa / giải mã Base64, trình định dạng JSON, trình tạo, trình sửa PDF và hàng chục công cụ miễn phí — cùng toàn bộ hệ sinh thái Volade với một giấy phép duy nhất.

Một giấy phép, toàn bộ hệ sinh thái cao cấp Trình duyệt · CMS · Máy tính · Di động · Script · API · Công cụ · Database
Một giấy phép, toàn bộ hệ sinh thái Mua Premium Đăng nhập