Кодування 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