Безкоштовний декодер та зневаджувач JWT
Вставте будь-який JSON Web Token, щоб миттєво декодувати його заголовок і корисне навантаження, перевірити статус закінчення терміну дії та перевірити його підпис — HS256, RS256, ES256, PS256 та інші. 100% на стороні клієнта; ваші токени ніколи не залишають ваш браузер.
Що всередині JWT
Заголовок (Header)
Невеликий JSON-об'єкт, що містить назву алгоритму підпису (alg) та
тип токена (typ). Він декодується, а не шифрується — видимий для будь-кого, хто має
токен.
Корисне навантаження (Payload)
Вимоги (claims) — фактичні дані, такі як те, кого представляє токен
(sub) і коли закінчується його термін дії (exp). Також лише закодовані, ніколи не вважайте
їх секретними.
Підпис (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