org.mozilla.jss.util
Class UTF8Converter
java.lang.Object
org.mozilla.jss.util.UTF8Converter
public class UTF8Converter
extends java.lang.Object
Class for converting between char arrays and byte arrays. The conversion
is guaranteed (in optimized mode only) not to leave any data hanging around
in memory unless there is a catastrophic VM error, which is useful for
encoding passwords.
static byte[] | UnicodeToUTF8(char[] unicode) - Creates a new UTF8-encoded byte array representing the
char[] passed in.
|
protected static byte[] | UnicodeToUTF8(char[] unicode, boolean nullTerminate) - Do the work of the above functions.
|
static byte[] | UnicodeToUTF8NullTerm(char[] unicode) - Creates a new null-terminated UTF8-encoded byte array representing the
char[] passed in.
|
static void | main(String[] args) - Testing method
|
static void | wipeBytes(byte[] array) - Wipes a byte array by setting all of its bytes to zero.
|
UnicodeToUTF8
public static byte[] UnicodeToUTF8(char[] unicode)
throws CharConversionException
Creates a new UTF8-encoded byte array representing the
char[] passed in. The output array will NOT be null-terminated.
This call is safe for passwords; all internal buffers are cleared.
The output array is the owned by the caller, who has responsibility
for clearing it.
See http://www.stonehard.com/unicode/standard/ for the UTF-16
and UTF-8 standards.
unicode
- An array of Unicode characters, which may have UCS4
characters encoded in UTF-16. This array must not be null.
UnicodeToUTF8
protected static byte[] UnicodeToUTF8(char[] unicode,
boolean nullTerminate)
throws CharConversionException
Do the work of the above functions.
UnicodeToUTF8NullTerm
public static byte[] UnicodeToUTF8NullTerm(char[] unicode)
throws CharConversionException
Creates a new null-terminated UTF8-encoded byte array representing the
char[] passed in.
This call is safe for passwords; all internal buffers are cleared.
The output array is the owned by the caller, who has responsibility
for clearing it.
See http://www.stonehard.com/unicode/standard/ for the UTF-16
and UTF-8 standards.
unicode
- An array of Unicode characters, which may have UCS4
characters encoded in UTF-16. This array must not be null.
main
public static void main(String[] args)
Testing method
wipeBytes
public static void wipeBytes(byte[] array)
Wipes a byte array by setting all of its bytes to zero.
array
- The input array must not be null.