Base64 у JSON: як безпечно декодувати дані cookie та сесії
Digital Account Market
· Останнє оновлення:
У вас є довгий нечитабельний рядок із літер і цифр, у якому мають бути дані cookie або сесії, і вам потрібне перетворення base64 у json, щоб його нарешті прочитати. Можливо, його передав продавець, розширення для браузера або панель імпорту, і ви хочете побачити поля, перш ніж віддавати рядок іншому інструменту.
У цьому посібнику показано, як розпізнати рядок Base64, декодувати його в гарно відформатований JSON безкоштовним інструментом, виправити типові помилки та закодувати JSON назад у Base64, коли панель вимагає саме такий формат. Також ідеться про те, як зберегти конфіденційність декодованих даних, адже значення cookie й токенів чутливі.
Що таке Base64 і чому cookie та токени пакують саме так
Base64 записує будь-які дані, зокрема текст із лапками, фігурними дужками та літерами з діакритикою чи кирилицею, лише 64 безпечними символами: від A до Z, від a до z, від 0 до 9, а також символами + і /. Системи, які не впораються з сирою пунктуацією чи переносами рядків, усе одно можуть передати такі дані, бо Base64 перетворює все на простий текст, який зручно копіювати.
Саме тому на практиці вам трапляється рядок cookie у base64. Інструмент, який експортує дані сесії як JSON, може загорнути їх у Base64, щоб вони пройшли через текстове поле, параметр URL або повідомлення в чаті й нічого не зламалося, а панель імпорту може очікувати таку саму обгортку на вході.
Важливо: Base64 — це кодування, а не шифрування. Тут немає ні пароля, ні ключа, і будь-хто, хто має рядок, може повернути вихідний текст. Тож ставтеся до такого рядка так, ніби це самі дані.
Як розпізнати рядок Base64
Перш ніж щось декодувати, переконайтеся, що це справді Base64. Зазвичай вистачає трьох швидких перевірок.
Набір символів
Стандартний рядок Base64 містить лише літери, цифри, + і /. Якщо ви бачите двокрапки, пробіли між словами чи знаки @, це, імовірно, щось інше. Рядки видачі на кшталт username:password:email:email_password:auth_token — це текст, розділений двокрапками, а не Base64, і жоден декодер не витягне з нього сенсу.
Padding (вирівнювання)
Base64 працює групами по чотири символи. Коли дані не заповнюють останню групу, додається один або два знаки рівності як padding. Рядок, що закінчується на = або ==, — сильна підказка, але рядки без знака рівності теж коректні, якщо їхня довжина випадково підходить, а деякі інструменти навмисно прибирають padding.
Характерний початок
Об'єкт JSON починається з фігурної дужки й лапки, і ця пара завжди кодується однаково. Рядок, що починається з eyJ, майже завжди є об'єктом JSON, W3si зазвичай означає список об'єктів, а WyJ — список текстових значень. Якщо ваш рядок починається так, після декодування мав би вийти JSON.
Не впевнені? Вставте зразок в інструмент визначення формату. Він перевіряє алфавіт, padding і довжину та підказує, чи схожий текст на Base64, JSON або щось інше.
Base64 у JSON: декодування безкоштовним інструментом
Інструмент Base64 у JSON виконує всю роботу у вашому браузері, нічого не завантажується на сервер, тож рядок залишається на вашому пристрої.
- Вставте рядок Base64 у поле вводу. Якщо хочете побачити, як виглядає правильний результат, спершу натисніть кнопку з прикладом.
- Результат з'являється миттєво. Якщо декодований текст — коректний JSON, його відформатовано з відступом у два пробіли, тож вкладені поля легко переглядати.
- Прочитайте структуру, а потім скопіюйте JSON кнопкою копіювання.
Інструмент перед декодуванням прибирає пробіли та переноси рядків і читає байти як UTF-8, тому літери з діакритикою та нелатинські писемності відображаються правильно, а не як незрозумілі символи. Для перевірки вставте eyJ1c2VyIjoiaGVzYXAxIiwidG9rZW4iOiJhYmMxMjMifQ== — отримаєте об'єкт із полем user і полем token.
Якщо декодований текст читабельний, але не є JSON, інструмент покаже його як звичайний текст, а не відкине результат. Так буває з окремим токеном, і це все одно вдале декодування.
Помилки декодування: padding, переноси рядків і URL-safe варіант
Коли декодування не вдається, причина майже завжди одна з цих.
Відсутній padding
Рядок обрізали або з нього прибрали знаки рівності. Порівняйте eyJpZCI6MX0= з eyJpZCI6MTIzfQ==: першому потрібен один знак рівності, другому — два. Додавайте =, доки довжина не стане кратною чотирьом. Виняток — рядок, довжина якого при діленні на чотири дає остачу один: жоден padding тут не допоможе, бо під час копіювання втрачено символи, і вам потрібна свіжа копія оригіналу.
Переноси рядків і зайві пробіли
Поштові клієнти, месенджери та текстові файли часто розбивають довгі рядки на кілька рядків. Ці розриви не є частиною даних. Інструмент прибирає їх за вас, але інші декодери можуть цього не робити.
URL-safe варіант
Рядки, створені для вебадрес, замінюють + на - і / на _, щоб зберегтися всередині посилання, а стандартний декодер відхиляє ці два символи. Замініть кожне - на +, кожне _ на /, відновіть padding і декодуйте ще раз.
Рядки акаунтів, вставлені помилково
Якщо ви вставили рядки даних видачі, розділених двокрапками, інструмент повідомить, що це схоже на список акаунтів. Такому тексту потрібен не декодер, а роздільник стовпців. Скористайтеся розділенням за роздільником, щоб витягти потрібні поля.
Кодування JSON у Base64: повернення для інструментів, які цього вимагають
Деякі панелі та інструменти імпорту хочуть отримати дані сесії в Base64, а не в сирому JSON. Цей напрям обробляє інструмент JSON у Base64. Вставте JSON, оберіть компактний вивід в один рядок або читабельний із відступами й скопіюйте результат. Компактний режим — кращий вибір за замовчуванням для більшості імпортів, бо дає найкоротший рядок.
Інструмент спершу перевіряє ваш JSON, тож пропущену кому чи незакриту дужку буде помічено ще до кодування пошкодженого вмісту. Кодування використовує UTF-8, завдяки чому подорож туди й назад надійна: декодуйте рядок, змініть одне поле, закодуйте знову — і всі інші поля повернуться точно такими, як були.
Якщо ваші cookie лежать у текстовому файлі формату Netscape, перетворіть їх інструментом cookie Netscape і скористайтеся нашим посібником про конвертацію cookie Netscape у JSON. Якщо ж ви працюєте з токеном auth, прочитайте про вхід у Twitter за допомогою токена auth.
Як приватно поводитися з декодованими даними
Декодовані дані cookie та сесії можуть містити токени, що працюють як ключ до акаунта, тому варто виробити кілька звичок.
- Працюйте локально. Інструмент у браузері, який не завантажує ваш ввід, кращий за випадковий сайт, що надсилає текст на сервер, який ви не можете перевірити.
- Не вставляйте декодовані значення в публічні чати, тікети чи скриншоти. Коли просите про допомогу, називайте лише назви полів.
- Зберігайте вихідний рядок незміненим, декодуйте копію, а після завершення видаляйте робочі файли.
Для простих повторюваних перетворень на кшталт цих зазвичай досить локального конвертера. Наша стаття про те, коли досить локального конвертера форматів, пояснює, як це визначити. Коли будете готові обирати акаунти, перегляньте категорію aged-акаунтів і користуйтеся безкоштовною сторінкою інструментів на всьому шляху між видачею та входом.
Поширені запитання
Як зрозуміти, що рядок — це Base64?
Перевірте три речі: він містить лише літери, цифри, + і /, його довжина вкладається в групи по чотири з необов'язковим padding =, і він часто починається з eyJ, якщо містить об'єкт JSON. Інструмент визначення формату автоматизує цю перевірку.
Чому мій Base64 декодується в нечитабельні символи?
Або дані ніколи не були текстом, наприклад це зображення чи стиснений вміст, або використано іншу кодову таблицю символів. Нечитабельні символи з'являються й тоді, коли рядок у URL-safe варіанті й його не перетворили заздалегідь.
Що означає знак рівності в кінці?
Це padding. Base64 кодує блоками по чотири символи, а один або два знаки рівності доповнюють останній блок, коли даних бракує. Самі по собі вони не несуть жодної інформації.
Чи Base64 — це різновид шифрування?
Ні. Base64 лише змінює спосіб запису даних, і будь-хто може відновити їх без ключа. Захищайте рядок Base64 так само, як захищали б читабельні дані.
Як перетворити JSON назад у Base64?
Вставте JSON в інструмент JSON у Base64, оберіть компактний вивід або з відступами й скопіюйте результат. Інструмент повідомляє про некоректний JSON ще до кодування.

