Package org.forgerock.util.encode
Class Base64
- java.lang.Object
- 
- org.forgerock.util.encode.Base64
 
- 
 public final class Base64 extends Object Provides RFC 4648 / RFC 2045 compatible Base64 encoding and decoding. The implementation is based onBase64. The normal methods use the MIME decoder for compatibility with the permissive decoding of the previous implementation. All invalid characters and newlines in the input are ignored. Use the newdecodeStrict(byte[])ordecodeStrict(String)methods if strict decoding is preferred, for example in security-sensitive uses.
- 
- 
Method SummaryAll Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static byte[]decode(byte[] sArr)Decodes a BASE64 encoded byte array.static byte[]decode(char[] sArr)Decodes a BASE64 encoded char array.static byte[]decode(String str)Decodes a BASE64 encodedString.static byte[]decodeFast(byte[] sArr)Deprecated.Usedecode(byte[])instead.static byte[]decodeFast(char[] sArr)Deprecated.Usedecode(char[])instead.static byte[]decodeFast(String s)Deprecated.Usedecode(String)instead.static byte[]decodeStrict(byte[] encoded)Decodes the input using a strict decoder that rejects any invalid characters or line separators.static byte[]decodeStrict(char[] encoded)Decodes the input using a strict decoder that rejects any invalid characters or line separators.static byte[]decodeStrict(String encoded)Decodes the input using a strict decoder that rejects any invalid characters or line separators.static Stringencode(byte[] content)This method is usingencode(byte[], boolean), and it only exists so we don't break the API.static Stringencode(byte[] data, boolean lineSep)Encodes a raw byte array into a BASE64Stringrepresentation i accordance with RFC 2045.static byte[]encodeToByte(byte[] data, boolean lineSep)Encodes a raw byte array into a BASE64byte[]representation i accordance with RFC 2045.static char[]encodeToChar(byte[] sArr, boolean lineSep)Encodes a raw byte array into a BASE64char[]representation i accordance with RFC 2045.
 
- 
- 
- 
Method Detail- 
decodepublic static byte[] decode(byte[] sArr) Decodes a BASE64 encoded byte array. All illegal characters will be ignored and can handle both arrays with and without line separators. UsedecodeStrict(byte[])if rejection of invalid characters is required.- Parameters:
- sArr- The source array. Length 0 will return an empty array.- nullwill throw an exception. Returns- nullif the padding is incorrect.
- Returns:
- The decoded array of bytes. May be of length 0.
 
 - 
decodepublic static byte[] decode(char[] sArr) Decodes a BASE64 encoded char array. All illegal characters will be ignored and can handle both arrays with and without line separators. UsedecodeStrict(char[])if rejection of invalid characters is required.- Parameters:
- sArr- The source array.- nullor length 0 will return an empty array.
- Returns:
- The decoded array of bytes. May be of length 0. Returns nullif the padding is incorrect.
 
 - 
decodepublic static byte[] decode(String str) Decodes a BASE64 encodedString. All illegal characters will be ignored and can handle both strings with and without line separators. UsedecodeStrict(String)if rejection of invalid characters is required.- Parameters:
- str- The source string.- nullor length 0 will return an empty array.
- Returns:
- The decoded array of bytes. May be of length 0. Returns nullif the padding is incorrect.
 
 - 
decodeFast@Deprecated public static byte[] decodeFast(byte[] sArr) Deprecated.Usedecode(byte[])instead.This method is now a direct synonym fordecode(byte[]).- Parameters:
- sArr- The source array. Length 0 will return an empty array.- nullwill throw an exception.
- Returns:
- The decoded array of bytes. May be of length 0.
 
 - 
decodeFast@Deprecated public static byte[] decodeFast(char[] sArr) Deprecated.Usedecode(char[])instead.This method is now a direct synonym fordecode(char[]).- Parameters:
- sArr- The source array. Length 0 will return an empty array.- nullwill throw an exception.
- Returns:
- The decoded array of bytes. May be of length 0.
 
 - 
decodeFast@Deprecated public static byte[] decodeFast(String s) Deprecated.Usedecode(String)instead.This method is now a direct synonym fordecode(String).- Parameters:
- s- The source string. Length 0 will return an empty array.- nullwill throw an exception.
- Returns:
- The decoded array of bytes. May be of length 0.
 
 - 
decodeStrictpublic static byte[] decodeStrict(byte[] encoded) Decodes the input using a strict decoder that rejects any invalid characters or line separators.- Parameters:
- encoded- the encoded data.
- Returns:
- the decoded data.
- Throws:
- IllegalArgumentException- if the data is malformed in any way.
 
 - 
decodeStrictpublic static byte[] decodeStrict(char[] encoded) Decodes the input using a strict decoder that rejects any invalid characters or line separators.- Parameters:
- encoded- the encoded data.
- Returns:
- the decoded data.
- Throws:
- IllegalArgumentException- if the data is malformed in any way.
 
 - 
decodeStrictpublic static byte[] decodeStrict(String encoded) Decodes the input using a strict decoder that rejects any invalid characters or line separators.- Parameters:
- encoded- the encoded data.
- Returns:
- the decoded data.
- Throws:
- IllegalArgumentException- if the data is malformed in any way.
 
 - 
encodepublic static String encode(byte[] content) This method is usingencode(byte[], boolean), and it only exists so we don't break the API.- Parameters:
- content- The bytearray that needs to be Base64 encoded
- Returns:
- the Base64 encoded
 
 - 
encodepublic static String encode(byte[] data, boolean lineSep) Encodes a raw byte array into a BASE64Stringrepresentation i accordance with RFC 2045.- Parameters:
- data- The bytes to convert. If- nullor length 0 an empty string will be returned.
- lineSep- Optional "\r\n" after 76 characters, unless end of file.
 No line separator will be in breach of RFC 2045 which specifies max 76 per line but will be a little faster.
- Returns:
- A BASE64 encoded array. Never null.
 
 - 
encodeToBytepublic static byte[] encodeToByte(byte[] data, boolean lineSep)Encodes a raw byte array into a BASE64byte[]representation i accordance with RFC 2045.- Parameters:
- data- The bytes to convert. If- nullor length 0 an empty array will be returned.
- lineSep- Optional "\r\n" after 76 characters, unless end of file.
 No line separator will be in breach of RFC 2045 which specifies max 76 per line but will be a little faster.
- Returns:
- A BASE64 encoded array. Never null.
 
 - 
encodeToCharpublic static char[] encodeToChar(byte[] sArr, boolean lineSep)Encodes a raw byte array into a BASE64char[]representation i accordance with RFC 2045.- Parameters:
- sArr- The bytes to convert. If- nullor length 0 an empty array will be returned.
- lineSep- Optional "\r\n" after 76 characters, unless end of file.
 No line separator will be in breach of RFC 2045 which specifies max 76 per line but will be a little faster.
- Returns:
- A BASE64 encoded array. Never null.
 
 
- 
 
-