Una delle codifiche più utilizzate per il web è sicuramente quella chiamata Base64. Difatti, viene utilizzata in uno dei principali strumenti che internet ci mette a disposizione, la posta elettronica: più specificatamente Base64 è usata per convertire le email da binario a ASCII e viceversa.
Il nome deriva dal fatto che utilizza 64 simboli proprio di ASCII, ognuno dei quali ha una corrispondenza binaria ben precisa. Questo algoritmo ovviamente non presenta nessuna caratteristica di sicurezza e quindi sconsigliamo l’utilizzo al fine di criptare le password o qualsiasi altro tipo di dato sensibile.
Come funziona
Il procedimento di conversione di Base64 è molto semplice: l’algoritmo prende ogni singolo simbolo (lettere, numeri e segni) che compongono una email, lo converte in binario e successivamente, a partire da questa conversione, in vari segmenti, ciascuno di essi composto da 6 bit.
Ogni segmento, a sua volta, è convertito in simbolo in base al proprio valore numerico, secondo uno schema definito: le cifre da 0 a 25 corrispondono alle lettere maiuscole, dal 26 in poi le minuscole, i numeri, il segno dell’addizione quello della barra obliqua, lo slash.
I primi utilizzi
I primi esempi di questo tipo di codifica furono utilizzati per le comunicazioni dial-up analogiche tra sistemi che usavano lo stesso sistema operativo e quindi la stessa tipologia di caratteri. Per esempio, uuencode (utilizzato allora sui sistemi UNIX) usa lettere maiuscole, cifre e molti caratteri di punteggiatura, ma non le lettere minuscole.
Base64 in PHP
PHP ha due funzioni native molto comode per convertire da ASCII a Base64 e viceversa. L’utilizzo è davvero molto semplice: per codificare una stringa ASCII in Base64 basterà:
<?php base64_encode ( $data ) ?>
mentre per convertire da Base64 in ASCII utilizzeremo:
<?php base64_decode ( $data ) ?>
Dai un’occhiata ai nostri corsi PHP, JavaScript, Laravel e Vue.js!
Base64 in Java
Con lo sviluppo di Java 8, codificare e decodificare stringhe di testo in Base64 è diventato molto più semplice rispetto al passato, grazie alla libreria java.util.Base64. Ecco un esempio pratico:
import java.io.UnsupportedEncodingException; import java.util.Base64; public class EsempioBase64 { public static void main(String args[]) { String str = "Sto leggendo un articolo su LaraMind"; Base64.Encoder base64Encoder= Base64.getEncoder(); } }
Tool di conversione
Online esistono numerosi siti che offrono strumenti gratuiti per la conversione di stringhe alfanumeriche in Base64 e viceversa. Alcuni di questi tool offrono addirittura la scelta del charset che intendiamo utilizzare e quale linguaggio di programmazione stiamo utilizzando, per una compatibilità totale con il nostro codice; su altri tool è inoltre possibile caricare dei file testuali da convertire e quindi scaricare il risultato dell’elaborazione sul proprio computer. Possiamo citarne alcuni tra i più utilizzati:
bella
Semplice, ma ben spiegato. Ecco un altro strumento, che vorrei suggerire, che ho trovato durante la mia ricerca su Google, è
decode.com
questo strumento non solo fornisce codifica / decodifica URL, codifica / decodifica base 64, ma fornisce anche oltre 100 utility web per gli utenti. L’aggiunta di quello strumento aiuterà sicuramente gli utenti.