Base64-kodning

Med Base64 Encoding-værktøjet kan du kryptere den tekst, du indtaster, med Base64-metoden. Hvis du ønsker det, kan du afkode den krypterede Base64-kode med Base64 Decode-værktøjet.

Hvad er Base64-kodning?

Base64 Encoding er et kodningsskema, der gør det muligt at transportere binære data i miljøer, der kun bruger nogle begrænsede tegnkodninger (miljøer, hvor ikke alle tegnkoder kan bruges, såsom xml, html, script, instant messaging-applikationer). Antallet af tegn i dette skema er 64, og tallet 64 i ordet Base64 kommer herfra.

Hvorfor bruge Base64-kodning?

Behovet for Base64-kodning stammer fra problemer, der opstår, når medier transmitteres i rå binært format til tekstbaserede systemer. Fordi tekstbaserede systemer (såsom e-mail) fortolker binære data som en bred vifte af tegn, herunder specielle kommandotegn, bliver de fleste binære data, der sendes til overførselsmediet, fejlfortolket af disse systemer og går tabt eller beskadiget i transmissionen behandle.

En metode til at kode sådanne binære data på en måde, der undgår sådanne transmissionsproblemer, er at sende dem som almindelig ASCII-tekst i Base64-kodet format. Dette er en af ​​de teknikker, der bruges af MIME-standarden til at sende andre data end almindelig tekst. Mange programmeringssprog, såsom PHP og Javascript, inkluderer Base64-kodnings- og afkodningsfunktioner til at fortolke data, der transmitteres ved hjælp af Base64-kodning.

Base64-kodningslogik

I Base64-kodning er 3 * 8 bits = 24 bits data bestående af 3 bytes opdelt i 4 grupper af 6 bits. Tegnene svarende til decimalværdierne mellem [0-64] af disse 4 6-bit grupper matches fra Base64-tabellen for at indkode. Antallet af tegn opnået som et resultat af Base64-kodning skal være et multiplum af 4. Kodede data, der ikke er et multiplum af 4, er ikke gyldige Base64-data. Ved kodning med Base64-algoritmen, når kodningen er fuldført, hvis længden af ​​data ikke er et multiplum af 4, tilføjes "=" (lige) tegnet til slutningen af ​​kodningen, indtil det er et multiplum af 4. For eksempel, hvis vi har 10-tegn Base64-kodede data som et resultat af kodningen, skal to "==" tilføjes til slutningen.

Base64-kodningseksempel

Tag for eksempel de tre ASCII-numre 155, 162 og 233. Disse tre tal danner en binær strøm af 100110111010001011101001. En binær fil, såsom et billede, indeholder en binær strøm, der fungerer for titusindvis eller hundredtusindvis af nuller og enere. En Base64-koder starter med at opdele den binære strøm i grupper på seks tegn: 100110 111010 001011 101001. Hver af disse grupperinger er oversat til tallene 38, 58, 11 og 41. En seks-karakters binær strøm konverteres mellem binær (eller grundlæggende). 2) til decimaltegn (grundlag-10) ved at kvadrere hver værdi repræsenteret ved 1 i det binære array med positionskvadraten. Startende fra højre og flytter til venstre og starter ved nul repræsenterer værdierne i den binære strøm 2^0, så 2^1, så 2^2, så 2^3, så 2^4, så 2^ 5.

Her er en anden måde at se det på. Startende fra venstre er hver position værd 1, 2, 4, 8, 16 og 32. Hvis slot har et binært tal 1, tilføjer du denne værdi; hvis slot har 0, mangler du. Binært array 100110 bliver 38: 0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 decimaler + 4 + 0 + 0 + 32. Base64-kodning tager denne binære streng og opdeler den i 6-bit værdier 38, 58, 11 og 41. Til sidst konverteres disse tal til ASCII-tegn ved hjælp af Base64-kodningstabellen.