JavaScript: codifica in Base64: guida all'uso

Short link

I dettagli della codifica Base64 in JavaScript.

La codifica e decodifica in Base64 avviene tramite due metodi globali:

  1. btoa(): effettua la codifica in Base64
  2. atob(): effettua la decodifica da Base64

Come citato nella documentazione, un caso d'uso di questa feature è la creazione di URL di dati, anche se va ricordato che gli URL di dati per alcuni tipi di contenuto (come i file multimediali) non dovrebbero superare una certa estensione per motivi di performance.

Questi due metodi non sono disponibili in Node.js, dove si fa ricorso ai metodi dell'oggetto Buffer. Tuttavia, implementando entrambi le medesime specifiche, non esiste alcuna incompatibilità tra la soluzione lato server in Node.js e quella lato client.

In tal senso si potrebbe essere tentati di utilizzare questa codifica come un layer di offuscamento nella comunicazione tra client e server. Essendo una codifica reversibile non è consigliabile farlo, in quanto se i dati sono visibili nella struttura del documento (ad esempio come attributi di dati) è sufficiente usare la console JavaScript e il metodo atob() per visualizzare i dati originari.

Se si è in un ambiente sicuro (ad esempio sotto SSL/TLS), si possono invece usare le Web API Crypto per questo scopo.

L'autore

Gabriele Romanato, sviluppatore web full stack specializzato in siti, applicativi web ed e-commerce con Node.js e PHP.