Base64
Från Rilpedia
Base64 är en metod som används för att koda binär 8-bitarsdata till 7-bitars ASCII-tecken, för distribution via till exempel E-post. Kodningen baseras på positionell notation med 64 som bas, till skillnad från det decimala talsystemet där basen är 10 och det binära talsystemet där basen är 2. Base64 beskrevs 1987 i RFC989[1] som del av privacy-enhanced mail, e-post med skydd mot otillåten läsning. Base64 beskrivs (tillsammans med Base32 och Base16) i detalj i RFC3548[2]
Base64 använder i tur och ordning ASCII-tecknen A–Z (för nr 0-25), a–z (26-51), 0–9 (52-61) och två ytterligare tecken för att koda all information. I RFC1421[3] används tecknen "+" och "/" som de två sista tecknen och dessa bör enligt RFC3548 användas då annat inte anges. För URL:er och filnamn finns en variant, "Base 64 Encoding with URL and Filename Safe Alphabet" där de två sista är "-" och "_", eftersom "+" och "/" kan vara reserverade tecken. Tecknet "=" har en speciell funktion som påfyllnadssymbol och används om den okodade informationen inte är i jämna multiplar om tre bytes, varvid en "=" läggs till slutet på den kodade texten för varje saknad byte.
Kodningen har vissa säkerhetsaspekter:
- Om extra tecken såsom mellanslag och blankslag tillåts och ignoreras kan extra information smugglas med en Base64-kodad fil
- Extra tecken kan leda till buffertöverskridning eller andra problem i slarvigt skrivna tillämpningar
- Då lösenord kodas med Base64, till exempel i www-kakor, eller webbadresser, ser användaren inte att det är frågan om lösenord och kan hantera dessa oförsiktigt.
Källor
- ↑ RFC 989 - Privacy enhancement for Internet electronic mail
- ↑ RFC 3548 - The Base16, Base32, and Base64 Data Encodings
- ↑ RFC 1421 - Privacy Enhancement for Internet Electronic Mail
Se även
- MIME, standarden som möjliggör bilagor i modern e-post. Base64 används där bl.a. för bilagor i binärform.