Безкоштовний декодер та зневаджувач JWT

Вставте будь-який JSON Web Token, щоб миттєво декодувати його заголовок і корисне навантаження, перевірити статус закінчення терміну дії та перевірити його підпис — HS256, RS256, ES256, PS256 та інші. 100% на стороні клієнта; ваші токени ніколи не залишають ваш браузер.

9 Підтримуваних алгоритмів
100% Безпека у браузері
0 Даних надсилається на сервери
Заголовок (Header) Корисне навантаження (Payload) Підпис (Signature)
Вставте JWT вище, щоб миттєво його декодувати.

Що всередині JWT

Заголовок (Header)

Невеликий JSON-об'єкт, що містить назву алгоритму підпису (alg) та тип токена (typ). Він декодується, а не шифрується — видимий для будь-кого, хто має токен.

JSON, закодований у Base64URL

Корисне навантаження (Payload)

Вимоги (claims) — фактичні дані, такі як те, кого представляє токен (sub) і коли закінчується його термін дії (exp). Також лише закодовані, ніколи не вважайте їх секретними.

JSON, закодований у Base64URL

Підпис (Signature)

Криптографічний підпис над заголовком та корисним навантаженням. Це єдина частина, яка доводить, що токен є справжнім і незміненим — і єдина частина, яка потребує ключа для перевірки.

Підписано за допомогою HMAC або відкритого ключа

Поширені запитання

Що робить декодер JWT?

Декодер JWT розділяє токен на три частини — заголовок, корисне навантаження та підпис — а потім декодує заголовок і корисне навантаження з Base64URL, щоб ви могли прочитати фактичні вимоги та метадані всередині, наприклад, використаний алгоритм, суб'єкт та час закінчення терміну дії.

Чи є декодування JWT тим самим, що і його перевірка?

Ні. Декодування лише розкриває зрозумілий вміст токена — воно не вимагає секрету і нічого не доводить щодо його автентичності. Перевірка (верифікація) зіставляє підпис із секретним або відкритим ключем, щоб підтвердити, що токен є справжнім і не був змінений. Будь-хто може декодувати JWT; але перевірити його може лише той, хто має правильний ключ.

Чи потрібен мені секретний ключ для декодування JWT?

Ні. Заголовок і корисне навантаження JWT лише закодовані в Base64URL, а не зашифровані, тому будь-хто може декодувати та прочитати їх без жодного ключа. Секретний або відкритий ключ потрібен лише для перевірки підпису, а не для декодування зрозумілого вмісту.

Чи надсилаються дані мого токена на ваш сервер?

Ні. Цей інструмент працює виключно у вашому браузері за допомогою JavaScript та Web Crypto API. Ваш токен, секретний ключ та відкритий ключ нікуди не передаються. Ви можете переконатися в цьому самостійно, перевіривши вкладку «Мережа» (Network) у вашому браузері під час використання інструмента.

Чи можу я перевірити токени RS256 або ES256 за допомогою цього інструмента?

Так. Цей декодер підтримує перевірку підписів для алгоритмів HMAC (HS256, HS384, HS512) за допомогою спільного секрету, а також для алгоритмів з відкритим ключем (RS256/384/512, ES256/384/512, PS256/384/512) за допомогою відкритого ключа у форматі PEM.

Чому мій токен відображається як прострочений?

JWT зазвичай містять вимогу exp — мітку часу Unix, що позначає, коли токен перестає бути дійсним. Якщо поточний час перевищив цю мітку, токен вважається простроченим і повинен бути відхилений будь-яким сервером, що його перевіряє, навіть якщо сам підпис все ще дійсний.

Що означає alg: none і чому він позначається попередженням?

Алгоритм "none" означає, що токен стверджує, що взагалі не має підпису. Це добре задокументована вразливість JWT — деякі погано налаштовані бібліотеки приймають такі токени як дійсні без жодних перевірок, що дозволяє зловмиснику підробити будь-які вимоги (claims). Робочі системи (production) завжди повинні відхиляти непідписані токени.

Потрібно створити новий секретний ключ?

Згенеруйте новий, криптографічно безпечний секретний ключ JWT для підписання нових токенів — безкоштовно, миттєво та на 100% у браузері.

Перейти до генератора секретних ключів JWT