In simple terms, Base64 is an encoding scheme that can render text data unreadable. But that's for the layman. To be precise, Base64 is a binary to text encoding scheme. It represents binary data as ASCII character string. Each Base64 digit represents 6 bits of data. Base64 encoding is not encryption; it's simply a method for representing binary data using ASCII characters. It's often used to ensure that binary data remains intact when transmitted across systems that may not support binary data directly. Let's understand Base64 with an example.
Let's consider the letter T. If we convert this letter in binary, we get eight bit representation as 01010100. When we encode this binary text into Base64, we get the following:
010101 00
This is because Base64 uses 6 bits to represent each binary string. If we consult Base64 table given below, we get:
010101 = V
In order to make the binary again eight bit, zero bits 0000 are added to the right:
010101 000000
010101 = V
000000 = A
In Base64 empty octets are padded with = mark. In a three octets representation, the letter T occupies only one octet and the other two octets remain empty. These two empty bytes will be padded with ==
010101 000000 000000 000000
V A = =
So T is equal to VA== in Base64.
Base64 encoding is not a very strong security measure because decoding it is very easy. As it is with encoding, TechWelkin Base64 Decoder can easily decode Base64 and break encryption. Therefore, this method should not be used if stakes are high. It can be used just to obfuscate ordinary text.
Index | Binary | Base64 |
---|---|---|
0 | 000000 | A |
1 | 000001 | B |
2 | 000010 | C |
3 | 000011 | D |
4 | 000100 | E |
5 | 000101 | F |
6 | 000110 | G |
7 | 000111 | H |
8 | 001000 | I |
9 | 001001 | J |
10 | 001010 | K |
11 | 001011 | L |
12 | 001100 | M |
13 | 001101 | N |
14 | 001110 | O |
15 | 001111 | P |
16 | 010000 | Q |
17 | 010001 | R |
18 | 010010 | S |
19 | 010011 | T |
20 | 010100 | U |
21 | 010101 | V |
22 | 010110 | W |
23 | 010111 | X |
24 | 011000 | Y |
25 | 011001 | Z |
26 | 011010 | a |
27 | 011011 | b |
28 | 011100 | c |
29 | 011101 | d |
30 | 011110 | e |
31 | 011111 | f |
32 | 100000 | g |
33 | 100001 | h |
34 | 100010 | i |
35 | 100011 | j |
36 | 100100 | k |
37 | 100101 | l |
38 | 100110 | m |
39 | 100111 | n |
40 | 101000 | o |
41 | 101001 | p |
42 | 101010 | q |
43 | 101011 | r |
44 | 101100 | s |
45 | 101101 | t |
46 | 101110 | u |
47 | 101111 | v |
48 | 110000 | w |
49 | 110001 | x |
50 | 110010 | y |
51 | 110011 | z |
52 | 110100 | 0 |
53 | 110101 | 1 |
54 | 110110 | 2 |
55 | 110111 | 3 |
56 | 111000 | 4 |
57 | 111001 | 5 |
58 | 111010 | 6 |
59 | 111011 | 7 |
60 | 111100 | 8 |
61 | 111101 | 9 |
62 | 111110 | + |
63 | 111111 | / |
padding | = |