org.apache.wicket.util.crypt
Class Base64UrlSafe

java.lang.Object
  extended by org.apache.wicket.util.crypt.Base64UrlSafe

public class Base64UrlSafe
extends Object

Provides Base64 encoding and decoding with URL and filename safe alphabet as defined by RFC 3548, section 4.

This Base64 encoder is modified to meet URL requirements. The changes are: '+' => '*', '/' => '-', and no padding.

This class is taken from the Apache commons-codec, and adjusted to fit the Wicket framework's needs, especially external dependencies have been removed.

This class implements section 4. Base 64 Encoding with URL and Filename Safe Alphabet from RFC 3548 The Base16, Base32, and Base64 Data Encodings by Simon Josefsson.

Since:
1.2
Author:
Apache Software Foundation, Juergen Donnerstag

Constructor Summary
Base64UrlSafe()
           
 
Method Summary
 byte[] decode(byte[] pArray)
          Decodes a byte[] containing containing characters in the Base64 alphabet.
 Object decode(Object pObject)
          Decodes an Object using the base64 algorithm.
static byte[] decodeBase64(byte[] base64Data)
          Decodes Base64 data into octets
 byte[] encode(byte[] pArray)
          Encodes a byte[] containing binary data, into a byte[] containing characters in the Base64 alphabet.
 Object encode(Object pObject)
          Encodes an Object using the base64 algorithm.
static byte[] encodeBase64(byte[] binaryData)
          Encodes binary data using the base64 algorithm.
static boolean isArrayByteBase64(byte[] arrayOctect)
          Tests a given byte array to see if it contains only valid characters within the Base64 alphabet.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Base64UrlSafe

public Base64UrlSafe()
Method Detail

isArrayByteBase64

public static boolean isArrayByteBase64(byte[] arrayOctect)
Tests a given byte array to see if it contains only valid characters within the Base64 alphabet.

Parameters:
arrayOctect - 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

decode

public Object decode(Object pObject)
Decodes an Object using the base64 algorithm. This method is provided in order to satisfy the requirements of the Decoder interface, and will throw a DecoderException if the supplied object is not of type byte[].

Parameters:
pObject - Object to decode
Returns:
An object (of type byte[]) containing the binary data which corresponds to the byte[] supplied.
Throws:
IllegalArgumentException - if the parameter supplied is not of type byte[]

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

encodeBase64

public static byte[] encodeBase64(byte[] binaryData)
Encodes binary data using the base64 algorithm.

Parameters:
binaryData - Array containing binary data to encode.
Returns:
Base64-encoded 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.

encode

public Object encode(Object pObject)
Encodes an Object using the base64 algorithm. This method is provided in order to satisfy the requirements of the Encoder interface, and will throw an EncoderException if the supplied object is not of type byte[].

Parameters:
pObject - Object to encode
Returns:
An object (of type byte[]) containing the base64 encoded data which corresponds to the byte[] supplied.
Throws:
IllegalArgumentException - if the parameter supplied is not of type byte[]

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


Copyright © 2004-2011 Apache Software Foundation. All Rights Reserved.