Wie der Name vermuten lässt, stellt Base64 Daten zur Basis 64 dar. Statt von 1 bis 10 oder 16 zu zählen, verwendet man ein Alphabet mit 64 Zeichen. Ein 65. Zeichen beendet Base64-Sequenzen: das Zeichen „=“. Das Base64-Alphabet umfasst Klein- und Großbuchstaben, Ziffern sowie „+“ und „/“, also insgesamt 64 verschiedene Zeichen. Base64 arbeitet mit 6-Bit-Gruppen und kann dadurch 64 unterschiedliche Werte darstellen.
Um Text in Base64 umzuwandeln, wird er zunächst in 24-Bit-Blöcke (3 Byte) aufgeteilt. Anschließend wird jeder 6-Bit-Gruppe ein Base64-Wert zugeordnet. Für das Wort „md5“ ergibt sich zum Beispiel:
ASCII: m d 5
Binary: |011011 01|0110 0100|00 110101|
Base 64: b W Q 1
Die Base64-Darstellung des Wortes „md5“ lautet daher „bWQ1“.
Was geschieht, wenn die Bitzahl beim Erstellen der 24-Bit-Blöcke kein genaues Vielfaches von 6 ist? Die fehlenden Bits werden mit Nullen aufgefüllt. Bei „sha1“ werden beispielsweise zunächst die drei Zeichen „sha“ verarbeitet; danach bleibt ein Byte übrig, das kein Vielfaches von 6 ist. Deshalb werden vier Nullbits ergänzt (8 + 4 = 6 × 2 = 12 Bit). Anschließend werden zwei „=“-Zeichen angefügt, um die zwei fehlenden Zeichen des 24-Bit-Blocks zu kennzeichnen.
An einer Base64-Zeichenfolge lässt sich daher erkennen, ob der letzte Block 1, 2 oder 3 Byte enthielt. Bei 3 Byte ist die Bitzahl bereits ein Vielfaches von 6 und es wird kein „=“ angefügt. Bei nur einem verbleibenden Byte sind zwei „=“-Zeichen nötig; bei zwei verbleibenden Byte eines.