Skip navigation links

Oracle Communications Services Gatekeeper Java API Reference
6.0

E55513-02


oracle.ocsg.oauth2.util
Class Base64

java.lang.Object
  extended byoracle.ocsg.oauth2.util.Base64


public class Base64
extends Object

Provides Base64 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.

See Also:
RFC 2045

Constructor Summary
Base64()
          Default constructor: lineLength is 76, and the lineSeparator is CRLF when encoding, and all forms can be decoded.
Base64(int lineLength)
           Consumer can use this constructor to choose a different lineLength when encoding (lineSeparator is still CRLF).
Base64(int lineLength, byte[] lineSeparator)
           Consumer can use this constructor to choose a different lineLength and lineSeparator when encoding.

 

Method Summary
 byte[] decode(byte[] pArray)
          Decodes a byte[] containing containing characters in the Base64 alphabet.
static byte[] decodeBase64(byte[] base64Data)
          Decodes Base64 data into octets
static BigInteger decodeInteger(byte[] pArray)
          Decode a byte64-encoded integer according to crypto standards such as W3C's XML-Signature
 byte[] encode(byte[] pArray)
          Encodes a byte[] containing binary data, into a byte[] containing characters in the Base64 alphabet.
static byte[] encodeBase64(byte[] binaryData)
          Encodes binary data using the base64 algorithm but does not chunk the output.
static byte[] encodeBase64(byte[] binaryData, boolean isChunked)
          Encodes binary data using the base64 algorithm, optionally chunking the output into 76 character blocks.
static byte[] encodeBase64Chunked(byte[] binaryData)
          Encodes binary data using the base64 algorithm and chunks the encoded output into 76 character blocks
static byte[] encodeInteger(BigInteger bigInt)
          Encode to a byte64-encoded integer according to crypto standards such as W3C's XML-Signature
static boolean isArrayByteBase64(byte[] arrayOctet)
          Tests a given byte array to see if it contains only valid characters within the Base64 alphabet.
static boolean isBase64(byte octet)
          Returns whether or not the octet is in the base 64 alphabet.

 

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

 

Constructor Detail

Base64

public Base64()
Default constructor: lineLength is 76, and the lineSeparator is CRLF when encoding, and all forms can be decoded.

Base64

public Base64(int lineLength)

Consumer can use this constructor to choose a different lineLength when encoding (lineSeparator is still CRLF). All forms of data can be decoded.

Note: lineLengths that aren't multiples of 4 will still essentially end up being multiples of 4 in the encoded data.


Base64

public Base64(int lineLength,
              byte[] lineSeparator)

Consumer can use this constructor to choose a different lineLength and lineSeparator when encoding. All forms of data can be decoded.

Note: lineLengths that aren't multiples of 4 will still essentially end up being multiples of 4 in the encoded data.

Throws:
IllegalArgumentException - The provided lineSeparator included some base64 characters. That's not going to work!

Method Detail

decode

public byte[] decode(byte[] pArray)
Decodes a byte[] containing containing characters in the Base64 alphabet.
Parameters:
pArray - A byte array containing Base64 character data
Returns:
a byte array containing binary data

decodeBase64

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

decodeInteger

public static BigInteger decodeInteger(byte[] pArray)
Decode a byte64-encoded integer according to crypto standards such as W3C's XML-Signature
Parameters:
pArray - a byte array containing base64 character data
Returns:
A BigInteger

encode

public 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

encodeBase64

public static byte[] encodeBase64(byte[] binaryData)
Encodes binary data using the base64 algorithm but does not chunk the output.
Parameters:
binaryData - binary data to encode
Returns:
Base64 characters

encodeBase64

public static byte[] encodeBase64(byte[] binaryData,
                                  boolean isChunked)
Encodes binary data using the base64 algorithm, optionally chunking the output into 76 character blocks.
Parameters:
binaryData - Array containing binary data to encode.
isChunked - if true this encoder will chunk the base64 output into 76 character blocks
Returns:
Base64-encoded data.
Throws:
IllegalArgumentException - Thrown when the input array needs an output array bigger than Integer.MAX_VALUE

encodeBase64Chunked

public static byte[] encodeBase64Chunked(byte[] binaryData)
Encodes binary data using the base64 algorithm and chunks the encoded output into 76 character blocks
Parameters:
binaryData - binary data to encode
Returns:
Base64 characters chunked in 76 character blocks

encodeInteger

public static byte[] encodeInteger(BigInteger bigInt)
Encode to a byte64-encoded integer according to crypto standards such as W3C's XML-Signature
Parameters:
bigInt - a BigInteger
Returns:
A byte array containing base64 character data
Throws:
NullPointerException - if null is passed in

isArrayByteBase64

public static boolean isArrayByteBase64(byte[] arrayOctet)
Tests a given byte array to see if it contains only valid characters within the Base64 alphabet. Currently the method treats whitespace as valid.
Parameters:
arrayOctet - byte array to test
Returns:
true if all bytes are valid characters in the Base64 alphabet or if the byte array is empty; false, otherwise

isBase64

public static boolean isBase64(byte octet)
Returns whether or not the octet is in the base 64 alphabet.
Parameters:
octet - The value to test
Returns:
true if the value is defined in the the base 64 alphabet, false otherwise.

Skip navigation links

Oracle Communications Services Gatekeeper Java API Reference
6.0

E55513-02


Copyright © 2008, 2015, Oracle and/or its affiliates. All rights reserved.