Кодування Base64 для розробників
Ви використовуєте Base64 у CSS та JWT-токенах. Вам потрібно знати, як це працює.
Base64 перетворює бінарні дані на текстовий рядок. Він використовує набір із 64 символів. Сюди входять A-Z, a-z, 0-9, + та /. Символ = використовується для доповнення (padding).
Base64 — це кодування. Це не шифрування. Ніколи не використовуйте його для забезпечення безпеки.
Як це працює:
- Розділіть бінарні дані на групи по 3 байти.
- Розділіть їх на чотири 6-бітні фрагменти.
- Зіставте кожен фрагмент із символом.
Поширене використання:
- Вкладення електронної пошти.
- Зображення в HTML та CSS.
- JWT-токени.
- Відповіді API.
- Заголовки Basic Auth.
Приклади коду:
Використовуйте btoa для кодування рядків.
Використовуйте atob для декодування рядків.
У Node.js використовуйте data.toString('base64').
Base64url — це спеціальна версія для URL-адрес. Вона замінює + на - та / на _. Вона видаляє доповнення (padding). Використовуйте її для JWT.
Пам'ятайте про наступне:
- Результат на 33% більший за оригінал.
- Використовуйте його лише для текстових каналів.
- Використовуйте Base64url для URL-адрес.
Джерело: https://dev.to/moksh/base64-encoding-explained-a-practical-guide-for-developers-49hh