Blog | G5 Cyber Security

Base64 Encode Byte Arrays in Encryption

TL;DR

When encrypting data, you often end up with a byte array. To store or transmit this securely, it’s common to convert it into a Base64 string. This guide shows how to do that reliably in various programming languages.

Steps

  1. Understand the Problem
  2. Encryption algorithms produce byte arrays (sequences of numbers representing binary data). These aren’t easily handled as text, so we convert them into a Base64 string. Base64 uses 64 characters to represent binary data in a textual format.

  3. Java
  4. import java.util.Base64;
    
    public class Base64Converter {
        public static String encodeByteArray(byte[] byteArray) {
            return Base64.getEncoder().encodeToString(byteArray);
        }
    
        public static void main(String[] args) {
            byte[] data = {0x12, 0x34, 0x56, 0x78};
            String base64String = encodeByteArray(data);
            System.out.println("Base64 String: " + base64String);
        }
    }

    The Base64.getEncoder().encodeToString() method does the conversion.

  5. Python
  6. import base64
    
    data = b'x12x34x56x78'
    base64_string = base64.b64encode(data).decode('utf-8')
    print("Base64 String:", base64_string)

    The base64.b64encode() function converts the byte array to Base64, and .decode('utf-8') turns it into a string.

  7. C#
  8. using System;
    using System.Text;
    
    public class Base64Converter {
        public static string EncodeByteArray(byte[] byteArray) {
            return Convert.ToBase64String(byteArray);
        }
    
        public static void Main(string[] args) {
            byte[] data = {0x12, 0x34, 0x56, 0x78};
            string base64String = EncodeByteArray(data);
            Console.WriteLine("Base64 String: " + base64String);
        }
    }

    The Convert.ToBase64String() method handles the conversion.

  9. JavaScript
  10. const data = new Uint8Array([0x12, 0x34, 0x56, 0x78]);
    const base64String = btoa(String.fromCharCode(...data));
    console.log("Base64 String:", base64String);

    First convert the byte array to a string using String.fromCharCode(...data), then use btoa() for Base64 encoding.

  11. Important Considerations
Exit mobile version