Sådan bruger du værktøjet
- Skriv dit alfabet, eller vælg en forudindstilling under Forudindstilling, og redigér den. Hvert tegn må kun forekomme én gang.
- Vælg metode under Metode: Stort tal til alle alfabetlængder eller Bitgrupper til alfabeter på 2, 4, 8, 16, 32 eller 64 tegn.
- Med Bitgrupper kan du eventuelt angive et udfyldningstegn under Udfyldningstegn. Det må ikke være en del af alfabetet.
- Kod din tekst, eller indsæt en streng, der er skrevet med dit alfabet, for at afkode den.
To måder at omsætte bytes til tegn på
Stort tal fungerer som Base58. Hele inputtet læses som ét stort heltal og divideres igen og igen med alfabetets længde; hver rest udpeger et tegn. Metoden virker med alle alfabeter på mindst 2 tegn, for eksempel 10, 36, 58 eller 62. Foranstillede nulbytes skrives som alfabetets første tegn, så de overlever en tur frem og tilbage. Der er ingen udfyldning, og inputtet er begrænset til ca. 20 KB, fordi beregningerne bliver langsomme ved lange data.
Bitgrupper fungerer som RFC 4648. Inputtet deles op i stykker med et fast antal bit: 1 bit for et alfabet på 2 tegn, 4 bit for 16, 5 bit for 32 og 6 bit for 64. Hvert stykke er et indeks i alfabetet. Det er præcis sådan, hex, Base32 og Base64 fungerer, og outputlængden afhænger kun af inputlængden.
Hvorfor de to metoder giver forskellige resultater
Den ene metode koder dataenes talværdi, den anden deres bit position for position. Resultaterne er som regel forskellige, og en streng skal afkodes med den metode, der har frembragt den.
| Alfabet | Input | Bitgrupper | Stort tal |
|---|---|---|---|
| Standard-Base64 | Hi | SGk= | Ehp |
| RFC 4648 Base32 | Hi | JBUQ==== | SDJ |
01 | A | 01000001 | 1000001 |
0123456789 | Hi | ikke tilgængelig | 18537 |
Med Bitgrupper og = som udfyldning gengiver standardalfabeterne almindelig Base64 og Base32. Stort tal dropper den foranstillede nulbit i A, fordi metoden skriver en værdi og ikke et fast antal bit. Med de ti cifre som alfabet viser den ganske enkelt de bytes, Hi består af, som ét decimaltal.
Udfyldningstegnet gælder kun for Bitgrupper. Outputtet udfyldes til et multiplum af 4 tegn for alfabeter på 64 tegn og til et multiplum af 8 for alfabeter på 32 og 8 tegn. Med 2, 4 eller 16 tegn fylder hver byte et helt antal tegn, så der er aldrig brug for udfyldning.
Regler for et gyldigt alfabet
- Mindst to tegn.
- Ingen dubletter. Dekoderen omsætter hvert tegn til præcis én værdi. Hvis
astod for både 0 og 10, kunne en streng, der indeholder det, ikke afkodes. - Store og små bogstaver tæller.
aogAer forskellige tegn. - Udfyldningstegnet må ikke indgå i alfabetet, for ellers kunne det ikke skelnes fra data.
Alt kører i din browser, så dit alfabet og dine data bliver på din enhed.
Når et brugerdefineret alfabet er nyttigt
- Tilslørede id'er. Et blandet alfabet gør identifikatorer til tokens uden et tydeligt mønster. Det skjuler, men beskytter ikke: Alle, der kender alfabetet, kan afkode dem.
- Proprietære eller ældre formater. Kopiér et systems eget alfabet fra dokumentationen, og afkod dets data direkte.
- Læring. Sammenlign alfabetlængder og begge metoder for at se, hvordan basekonvertering fungerer. Faste alfabeter finder du under Base58 og Base62.
Ofte stillede spørgsmål
Hvad er forskellen på Stort tal og Bitgrupper?
Stort tal konverterer hele inputtet som ét heltal til den nye base, ligesom Base58, og virker med alle alfabetlængder. Bitgrupper deler inputtet op i stykker med et fast antal bit, ligesom Base64, og kræver et alfabet på 2, 4, 8, 16, 32 eller 64 tegn.
Hvorfor matcher mit brugerdefinerede Base64-alfabet ikke standard-Base64?
Standard-Base64 bruger bitgrupper. Vælg metoden Bitgrupper, og angiv = som udfyldningstegn for at matche den. Metoden Stort tal giver en helt anden streng ud fra det samme alfabet.
Hvorfor er dubletter ikke tilladt?
Hvert tegn skal afkodes til præcis én værdi. Et gentaget tegn ville have to betydninger, og de oprindelige data kunne ikke gendannes pålideligt.
Kan jeg bruge et udfyldningstegn med metoden Stort tal?
Nej. Output fra Stort tal har ingen fast blokstørrelse, så der er intet at udfylde. Indstillingen for udfyldning gælder kun for Bitgrupper.
Er et brugerdefineret alfabet en form for kryptering?
Nej. Det er stadig en kodning uden nøgle. Et blandet alfabet kan gøre data sværere at genkende ved første øjekast, men det bør aldrig bruges til at beskytte hemmeligheder.