Tech Help

Base64 nu este criptare: ce face de fapt

Base64 este codificare, nu criptare. De ce nu ascunde parolele, de ce crește dimensiunea și cum îl decodificați.

Răspuns scurt

Base64 este codificare, nu criptare. Transformă datele binare într-o formă text pe care sistemele orientate pe text o pot stoca sau trimite.

Cine are textul Base64 îl poate de obicei decodifica. Nu e nevoie de parolă sau cheie secretă.

Nu folosiți Base64 ca să protejați parole, chei API, tokenuri de acces, mesaje private sau alte secrete. Este un instrument de reprezentare, nu un mecanism de securitate.

Dacă un șir arată amestecat, asta nu înseamnă că e criptat. Base64 schimbă doar cum se scriu octeții ca text.

Ce face Base64 de fapt?

Base64 codifică date binare cu un set ASCII limitat: A–Z, a–z, 0–9, + și /. Umplutura = poate apărea ca lungimea ieșirii să rămână multiplu de 4. Umplutura nu e mereu acolo—intrările scurte pot folosi unul sau două =, iar unele formate o omit.

Hello

Hello

Base64

SGVsbG8=

Decodificați SGVsbG8= și primiți din nou Hello. Dus-întorsul ăsta nu cere cheie.

  • Date originale
  • Hello
  • Codificare Base64
  • SGVsbG8=
  • Decodificare Base64
  • Hello
Base64 e reversibil prin decodificare. Cine are textul de obicei poate.

Base64 versus criptare: care e diferența?

Base64 e pentru reprezentare și compatibilitate. Nu ascunde conținutul. Criptarea e pentru confidențialitate și folosește material de cheie criptografică. A decodifica Base64 nu e a decripta. Sistemele cu cheie publică folosesc și ele chei; spuneți «cheie criptografică potrivită», nu «un secret partajat pentru orice fel de criptare». Hash-ul e o a treia idee: un rezumat, nu o codificare reversibilă.

  • Codificare
  • Fără cheie secretă
  • Reversibil de oricine
  • Criptare
  • Protecție criptografică
  • Trebuie cheia corectă ca să decriptezi
Codificarea schimbă reprezentarea. Criptarea vrea să țină conținutul confidențial.

Trei sarcini diferite:

Metodă Scop principal Secret necesar
Base64 Codificare date ca text Nu
Criptare Protejarea confidențialității Da / material de cheie
Hash Rezumat unidirecțional Fără decriptare

Este Base64 sigur?

Base64 singur nu oferă confidențialitate. Textul poate părea opac, dar asta nu e o funcție de securitate. Un decodificator obișnuit readuce octeții. Asta nu înseamnă că «Base64 e nesigur» ca tehnologie. E o codificare obișnuită. Nu e un mecanism de securitate. Securitatea depinde de sistemul din jur și de controale.

Pot ascunde o parolă sau o cheie API cu Base64?

Nu, nu ca protecție. A codifica o parolă, o cheie API, un token de acces sau date private ca Base64 nu le protejează. Cine obține șirul codificat îl poate de obicei decodifica. Folosiți stocare reală de secrete și criptare când contează confidențialitatea.

De ce se folosește Base64 dacă nu e criptare?

Sistemele care așteaptă text adesea nu pot purta binar brut. Base64 se folosește ca să reprezinte binarul în formate text, să înglobeze resurse binare mici, să mute octeți prin canale doar-text, să construiască Data URL, să apară în unele contexte email/MIME și să umple încărcături API când schema cere Base64. API-urile nu-l folosesc «pentru securitate». Îl folosesc pentru compatibilitate.

De ce Base64 mărește datele?

Base64 standard cu umplutură mapează 3 octeți de intrare pe 4 caractere. Lungimea e 4 × ceil(n / 3), unde n e numărul de octeți de intrare. Trei octeți devin 4 caractere; șase devin 8. Asta e cam cu 33% mai mare—aproximativ o treime—pentru o încărcătură brută mare. Intrările mici pot arăta altfel din cauza umpluturii: un octet devine QQ== (4 caractere). Ghilimele JSON, un prefix Data URL, compresie sau codificare de transport în plus pot schimba și mai mult dimensiunea stocată sau trimisă. Base64 nu comprimă datele.

Ce este Base64URL?

Base64URL e o variantă sigură pentru URL și nume de fișiere a aceleiași codificări—nu criptare. + devine -, / devine _, iar umplutura e adesea omisă. Codificare Base64 poate codifica și decodifica Base64 standard și Base64URL. Regulile de umplutură depind de specificație. Acest instrument nu e un decodificator JWT.

Poate Base64 să codifice imagini și fișiere?

Da. Imagini, PDF-uri și alte fișiere binare pot deveni o reprezentare text Base64. Base64 nu comprimă acele fișiere. Textul codificat e de obicei mai mare decât octeții bruti.

Ce este un Data URL Base64?

Un Data URL poate aduna tipul media, marcajul de codificare și octeții codificați într-un singur șir:

data:image/png;base64,...

E convenabil pentru resurse mici. A pune un fișier mare într-un Data URL nu e mereu o idee bună: șirul crește și paginile pot încetini. Tratați-l ca un compromis, nu ca implicit.

Codificare versus criptare versus hash

Codificarea (inclusiv Base64) e pentru reprezentare și e reversibilă fără secret. Criptarea e pentru confidențialitate și implică material de cheie criptografică. Hash-ul produce un rezumat gândit în general ca unidirecțional. Lungimea ieșirii depinde de algoritm—SHA-256 și SHA-512 nu au aceeași dimensiune. Generează hash SHA poate arăta acele rezumate; nu criptează și nu înlocuiește Base64.

Greșeli obișnuite cu Base64

A trata Base64 ca pe criptare
Schimbă doar cum arată octeții ca text.

A stoca secrete ca Base64 simplu
Valoarea codificată poate fi decodificată de cine o are.

A presupune că Base64 comprimă datele
Nu comprimă. Forma text e de obicei mai mare.

A uita creșterea dimensiunii
Planificați cam o treime în plus la încărcături brute mari.

A confunda Base64 cu Base64URL
Alfabeturile diferă. Un decodificator poate respinge varianta greșită.

A decodifica cu codificarea de caractere greșită
Base64 readuce octeți. Textul tot are nevoie de codificarea potrivită, de obicei UTF-8.

A presupune că = apare mereu
Umplutura se folosește când e nevoie. Unele șiruri n-o au.

De ce textul Unicode poate da probleme cu Base64?

Base64 lucrează pe octeți, nu pe caractere. Textul trebuie mai întâi să devină octeți—de obicei UTF-8. Coreeana, japoneza, araba și emoji au nevoie de acel pas. btoa() din browser pe un șir Unicode poate eșua. Codificare Base64 codifică octeți UTF-8, deci textul ăla face dus-întors. Dacă decodificați cu setul de caractere greșit, Base64 poate fi valid și literele tot să arate greșit.

Nu e un lacăt

Base64 nu oferă confidențialitate. Cine are valoarea codificată o poate de obicei decodifica. Nu tratați un text cu aspect amestecat ca pe un secret protejat.

Codificați sau decodificați Base64 în browser

NEXNARA Codificare Base64 transformă text UTF-8 și fișiere local.

Puteți codifica sau decodifica Base64 standard și Base64URL, transforma un fișier în Base64 brut sau Data URL și readuce Base64 sau Data URL la o descărcare. Intrarea invalidă e respinsă în loc să se prăbușească. Spațiile se ignoră; umplutura lipsă se completează.

Fișierele peste 10 MB pot încetini fila. Fișierele peste 32 MB nu se procesează în browser.

Procesarea Base64 însăși se întâmplă în browserul vostru. Textul sau fișierul nu se trimit la un server NEXNARA pentru acest instrument. Reclamele și alte funcții ale site-ului tot folosesc rețeaua; asta e separat de procesare.

Trebuie să codificați sau să decodificați Base64? Deschideți Codificare Base64 și lipiți textul sau dați drumul unui fișier.

FAQ

Este Base64 criptare?

Nu. Base64 e codificare. Schimbă reprezentarea. Nu protejează confidențialitatea.

Este Base64 sigur?

Base64 nu e un mecanism de securitate. E o codificare obișnuită. Cine are textul îl poate de obicei decodifica. Securitatea depinde de restul sistemului.

Se poate decodifica Base64 fără parolă?

Da. Ajunge un decodificator standard. Base64 însuși nu cere parolă sau cheie secretă.

De ce Base64 mărește dimensiunea fișierului?

Fiecare 3 octeți devin 4 caractere în Base64 standard cu umplutură (lungime 4 × ceil(n / 3)). Asta e cam 33% mai mult pentru o încărcătură brută mare. Umplutura poate schimba raportul la intrări foarte mici.

Care e diferența dintre Base64 și Base64URL?

Base64URL folosește - și _ în loc de + și / și adesea omite umplutura =. Ambele sunt codificări. Codificare Base64 suportă ambele alfabete.

Poate Base64 să codifice imagini și fișiere?

Da. Rezultatul e text, nu un fișier mai mic. Folosiți modul Fișier din Codificare Base64 pentru Base64 brut sau Data URL. Fișierul rămâne în browser.