Ce face base64
Base64 transformă orice șir de octeți într-un text format doar din litere, cifre, +, / și =. Este folosit când date binare trebuie să treacă prin locuri care acceptă doar text: atașamente de e-mail, fișiere JSON, antete HTTP (Authorization: Basic) sau secrete Kubernetes.
Comanda base64 codifică fișierul sau intrarea standard; cu -d decodifică. Versiunea GNU împarte rezultatul în rânduri de 76 de caractere; -w 0 scrie totul pe un singur rând. Atenție: Base64 nu este criptare, oricine poate decodifica textul.
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
-d, --decode |
Decodifică textul Base64 înapoi în datele originale. |
-w N, --wrap=N |
Rupe rândurile după N caractere (implicit 76); -w 0 dezactivează ruperea. |
-i, --ignore-garbage |
La decodificare, ignoră caracterele care nu fac parte din alfabetul Base64. |
Exemple
Exemplul 1: Codificare și decodificare
printf nu adaugă rând nou, așa că se codifică exact cele trei litere. Rezultatul decodificării nu are rând nou la final, de aceea adăugăm un echo.
printf 'Ana' | base64
printf 'QW5h' | base64 -d
echo
Rezultat
QW5h
Ana
Exemplul 2: Diferența făcută de rândul nou de la final
echo adaugă \n, deci codificarea diferă. Când pui o parolă într-un fișier de configurare, folosește printf sau echo -n.
echo 'parola' | base64
printf 'parola' | base64
Rezultat
cGFyb2xhCg==
cGFyb2xh
Exemplul 3: Antet HTTP Basic Auth
Antetul Authorization: Basic conține utilizator:parola codificat Base64. Asta arată și de ce Basic Auth se folosește doar prin HTTPS.
token=$(printf 'ana:secret123' | base64)
echo "Authorization: Basic $token"
echo "$token" | base64 -d
echo
Rezultat
Authorization: Basic YW5hOnNlY3JldDEyMw==
ana:secret123
Greșeli frecvente
- Considerarea Base64 drept metodă de protecție a parolelor: este doar o codificare reversibilă, fără cheie.
- Folosirea lui
echoîn loc deprintfla codificarea secretelor: rândul nou ajunge în valoare și autentificarea eșuează. - Rândurile rupte la 76 de caractere în GNU: într-o variabilă sau într-un fișier YAML folosește
base64 -w 0.
Comenzi înrudite
openssl: Trusa în linie de comandă pentru hash-uri, chei, certificate TLS și verificarea certificatelor unui site.sha256sum / md5sum: Calculează și verifică sume de control (SHA-256, MD5) ca să știi dacă un fișier este identic cu originalul.curl: Transferă date către sau de la un server folosind protocoale web (HTTP, HTTPS, FTP, REST API).