Class Base64

java.lang.Object
org.apache.shiro.lang.codec.Base64

public class Base64 extends Object
Provides Base 64 encoding and decoding as defined by RFC 2045.

This class implements section 6.8. Base64 Content-Transfer-Encoding from RFC 2045 Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies by Freed and Borenstein.

This class was borrowed from Apache Commons Codec SVN repository (rev. 618419) with modifications to enable Base64 conversion without a full dependency on Commons Codec. We didn't want to reinvent the wheel of great work they've done, but also didn't want to force every Shiro user to depend on the commons-codec.jar

As per the Apache 2.0 license, the original copyright notice and all author and copyright information have remained in tact.

Since:
0.9
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static byte[]
    decode(byte[] base64Data)
    Decodes Base64 data into octets
    static byte[]
    decode(String base64Encoded)
    Converts the specified UTF-8 Base64 encoded String and decodes it to a raw Base64 decoded byte array.
    static String
    decodeToString(byte[] base64Encoded)
    Decodes the specified Base64 encoded byte array and returns the decoded result as a UTF-8 encoded.
    static String
    decodeToString(String base64Encoded)
    Converts the specified UTF-8 Base64 encoded String and decodes it to a resultant UTF-8 encoded string.
    static byte[]
    encode(byte[] pArray)
    Encodes a byte[] containing binary data, into a byte[] containing characters in the Base64 alphabet.
    static String
    encodeToString(byte[] bytes)
    Base64 encodes the specified byte array and then encodes it as a String using Shiro's preferred character encoding (UTF-8).

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Base64

      public Base64()
  • Method Details

    • encodeToString

      public static String encodeToString(byte[] bytes)
      Base64 encodes the specified byte array and then encodes it as a String using Shiro's preferred character encoding (UTF-8).
      Parameters:
      bytes - the byte array to Base64 encode.
      Returns:
      a UTF-8 encoded String of the resulting Base64 encoded byte array.
    • encode

      public static byte[] encode(byte[] pArray)
      Encodes a byte[] containing binary data, into a byte[] containing characters in the Base64 alphabet.
      Parameters:
      pArray - a byte array containing binary data
      Returns:
      A byte array containing only Base64 character data
    • decodeToString

      public static String decodeToString(String base64Encoded)
      Converts the specified UTF-8 Base64 encoded String and decodes it to a resultant UTF-8 encoded string.
      Parameters:
      base64Encoded - a UTF-8 Base64 encoded String
      Returns:
      the decoded String, UTF-8 encoded.
    • decodeToString

      public static String decodeToString(byte[] base64Encoded)
      Decodes the specified Base64 encoded byte array and returns the decoded result as a UTF-8 encoded.
      Parameters:
      base64Encoded - a Base64 encoded byte array
      Returns:
      the decoded String, UTF-8 encoded.
    • decode

      public static byte[] decode(String base64Encoded)
      Converts the specified UTF-8 Base64 encoded String and decodes it to a raw Base64 decoded byte array.
      Parameters:
      base64Encoded - a UTF-8 Base64 encoded String
      Returns:
      the raw Base64 decoded byte array.
    • decode

      public static byte[] decode(byte[] base64Data)
      Decodes Base64 data into octets
      Parameters:
      base64Data - Byte array containing Base64 data
      Returns:
      Array containing decoded data.