| <?xml version="1.0" encoding="ISO-8859-1"?> |
| <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor |
| license agreements. See the NOTICE file distributed with this work for additional |
| information regarding copyright ownership. The ASF licenses this file to |
| You under the Apache License, Version 2.0 (the "License"); you may not use |
| this file except in compliance with the License. You may obtain a copy of |
| the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required |
| by applicable law or agreed to in writing, software distributed under the |
| License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS |
| OF ANY KIND, either express or implied. See the License for the specific |
| language governing permissions and limitations under the License. --> |
| <document> |
| <properties> |
| <title>Commons Codec - User guide</title> |
| <author email="dev@commons.apache.org">Commons Documentation Team</author> |
| </properties> |
| <body> |
| <!-- ================================================== --> |
| <section name="User guide"> |
| <p> Codec consists of a set of utilities and a simple |
| framework for encoding and decoding text and binary data. |
| </p> |
| <subsection name="Binary Encoders"> |
| <p>Interfaces and classes used by the various implementations in |
| the sub-packages. |
| </p> |
| <table> |
| <tr> |
| <td width="150"> |
| <a href="apidocs/org/apache/commons/codec/binary/Base32.html">Base32 |
| </a> |
| </td> |
| <td> |
| Provides Base32 encoding and decoding as defined by |
| <a href="https://www.ietf.org/rfc/rfc4648.txt">RFC 4648</a> |
| </td> |
| </tr> |
| <tr> |
| <td width="150"> |
| <a |
| href="apidocs/org/apache/commons/codec/binary/Base32InputStream.html">Base32InputStream |
| </a> |
| </td> |
| <td>Provides Base32 encoding and decoding in a streaming |
| fashion (unlimited size). |
| </td> |
| </tr> |
| <tr> |
| <td width="150"> |
| <a href="apidocs/org/apache/commons/codec/binary/Base64.html"> Base64 |
| </a> |
| </td> |
| <td> |
| Provides Base64 encoding and decoding as defined by |
| <a href="https://www.ietf.org/rfc/rfc2045.txt">RFC 2045</a> |
| </td> |
| </tr> |
| <tr> |
| <td width="150"> |
| <a |
| href="apidocs/org/apache/commons/codec/binary/Base64InputStream.html">Base64InputStream |
| </a> |
| </td> |
| <td>Provides Base64 encoding and decoding in a streaming |
| fashion (unlimited size). |
| </td> |
| </tr> |
| <tr> |
| <td width="150"> |
| <a |
| href="apidocs/org/apache/commons/codec/binary/BinaryCodec.html"> BinaryCodec |
| </a> |
| </td> |
| <td>Converts between byte arrays and strings of "0"s and |
| "1"s. |
| </td> |
| </tr> |
| <tr> |
| <td> |
| <a href="apidocs/org/apache/commons/codec/binary/Hex.html"> Hex |
| </a> |
| </td> |
| <td>Converts hexadecimal Strings. |
| </td> |
| </tr> |
| </table> |
| </subsection> |
| <subsection name="Digest Encoders"> |
| <p> |
| <strong>WARNING:</strong> Some of the functions in this package might not be suitable for cryptography, |
| or are no longer cryptographically-secure. |
| </p> |
| <table> |
| <tr> |
| <td width="150"> |
| <a href="apidocs/org/apache/commons/codec/digest/Blake3.html">Blake3</a> |
| </td> |
| <td> |
| Provides a pure Java implementation of the |
| <a href="https://github.com/BLAKE3-team/BLAKE3">Blake3 hash function</a> which can be used for computing |
| <a href="https://en.wikipedia.org/wiki/Cryptographic_hash_function">cryptographic hashes</a> |
| (message digests) which are extensible to arbitrary output lengths (known as an <i>extensible-output |
| function</i> or <i>XOF</i>), computing |
| <a href="https://en.wikipedia.org/wiki/Message_authentication_code">message authentication codes</a> |
| using a 32 byte (256-bit) secret key, computing subkeys from a primary key using a |
| <a href="https://en.wikipedia.org/wiki/Key_derivation_function">key derivation function</a>, and can be |
| used as the basis for a |
| <a href="https://en.wikipedia.org/wiki/Cryptographically-secure_pseudorandom_number_generator"> |
| cryptographically-secure pseudorandom number generator</a>. |
| <br/> |
| <strong>WARNING:</strong> Blake3 is |
| <em>not</em> a password hashing algorithm! An algorithm such as |
| <a href="https://github.com/P-H-C/phc-winner-argon2">Argon2</a> is more appropriate for password hashing. |
| </td> |
| </tr> |
| <tr> |
| <td width="150"> |
| <a href="apidocs/org/apache/commons/codec/digest/Crypt.html">Crypt</a> |
| </td> |
| <td> |
| GNU libc crypt(3) compatible hash method. |
| </td> |
| </tr> |
| <tr> |
| <td width="150"> |
| <a href="apidocs/org/apache/commons/codec/digest/DigestUtils.html">DigestUtils</a> |
| </td> |
| <td> |
| Simplifies common |
| <a |
| href="https://docs.oracle.com/javase/6/docs/api/java/security/MessageDigest.html">MessageDigest</a> |
| tasks and provides GNU libc crypt(3) compatible password hashing functions. |
| </td> |
| </tr> |
| <tr> |
| <td width="150"> |
| <a href="apidocs/org/apache/commons/codec/digest/HmacUtils.html">HmacUtils</a> |
| </td> |
| <td> |
| Simplifies common <a href="https://docs.oracle.com/javase/6/docs/api/javax/crypto/Mac.html">Mac</a> tasks. |
| <br/> |
| <strong>Note:</strong> Not all JCE implementations support all algorithms. |
| If not supported, an IllegalArgumentException is thrown. |
| </td> |
| </tr> |
| <tr> |
| <td width="150"> |
| <a href="apidocs/org/apache/commons/codec/digest/Md5Crypt.html">Md5Crypt</a> |
| </td> |
| <td> |
| The libc crypt() "$1$" and Apache "$apr1$" MD5-based hash algorithm. |
| </td> |
| </tr> |
| <tr> |
| <td width="150"> |
| <a href="apidocs/org/apache/commons/codec/digest/MurmurHash2.html">MurmurHash2</a> |
| </td> |
| <td> |
| Implementation of the MurmurHash2 32-bit and 64-bit hash functions. |
| </td> |
| </tr> |
| <tr> |
| <td width="150"> |
| <a href="apidocs/org/apache/commons/codec/digest/MurmurHash3.html">MurmurHash3</a> |
| </td> |
| <td> |
| Implementation of the MurmurHash3 32-bit and 128-bit hash functions. |
| </td> |
| </tr> |
| <tr> |
| <td width="150"> |
| <a href="apidocs/org/apache/commons/codec/digest/PureJavaCrc32.html">PureJavaCrc32</a> |
| </td> |
| <td> |
| A pure-java implementation of the CRC32 checksum that uses the same polynomial |
| as the built-in native CRC32. |
| </td> |
| </tr> |
| <tr> |
| <td width="150"> |
| <a href="apidocs/org/apache/commons/codec/digest/PureJavaCrc32C.html">PureJavaCrc32C</a> |
| </td> |
| <td> |
| A pure-java implementation of the CRC32 checksum that uses the CRC32-C polynomial, |
| the same polynomial used by iSCSI and implemented on many Intel chipsets supporting SSE 4.2. |
| </td> |
| </tr> |
| <tr> |
| <td width="150"> |
| <a href="apidocs/org/apache/commons/codec/digest/Sha2Crypt.html">Sha2Crypt</a> |
| </td> |
| <td> |
| SHA2-based Unix crypt implementation. |
| </td> |
| </tr> |
| <tr> |
| <td width="150"> |
| <a href="apidocs/org/apache/commons/codec/digest/UnixCrypt.html">UnixCrypt</a> |
| </td> |
| <td> |
| Unix crypt(3) algorithm implementation. |
| This class only implements the traditional 56 bit DES based algorithm. |
| </td> |
| </tr> |
| <tr> |
| <td width="150"> |
| <a href="apidocs/org/apache/commons/codec/digest/XXHash32.html">XXHash32</a> |
| </td> |
| <td> |
| Implementation of the xxHash32 hash algorithm. |
| </td> |
| </tr> |
| </table> |
| </subsection> |
| <subsection name="Language Encoders"> |
| <table> |
| <tr> |
| <td width="150"> |
| <a |
| href="apidocs/org/apache/commons/codec/language/Caverphone1.html">Caverphone 1.0 |
| </a> |
| </td> |
| <td>Encodes a string into a Caverphone 1.0 value. |
| </td> |
| </tr> |
| <tr> |
| <td width="150"> |
| <a |
| href="apidocs/org/apache/commons/codec/language/Caverphone2.html">Caverphone 2.0 |
| </a> |
| </td> |
| <td>Encodes a string into a Caverphone 2.0 value. |
| </td> |
| </tr> |
| <tr> |
| <td width="150"> |
| <a |
| href="apidocs/org/apache/commons/codec/language/ColognePhonetic.html">Cologne Phonetic |
| </a> |
| </td> |
| <td>Encodes a string into a Cologne Phonetic value. |
| </td> |
| </tr> |
| <tr> |
| <td> |
| <a |
| href="apidocs/org/apache/commons/codec/language/DoubleMetaphone.html">Double Metaphone |
| </a> |
| </td> |
| <td>Encodes a string into a double metaphone value. |
| </td> |
| </tr> |
| <tr> |
| <td> |
| <a |
| href="apidocs/org/apache/commons/codec/language/Metaphone.html">Metaphone |
| </a> |
| </td> |
| <td>Encodes a string into a Metaphone value. |
| </td> |
| </tr> |
| <tr> |
| <td> |
| <a |
| href="apidocs/org/apache/commons/codec/language/RefinedSoundex.html">Refined Soundex |
| </a> |
| </td> |
| <td>Encodes a string into a Refined Soundex value. |
| </td> |
| </tr> |
| <tr> |
| <td width="150"> |
| <a |
| href="apidocs/org/apache/commons/codec/language/Soundex.html">Soundex |
| </a> |
| </td> |
| <td>Encodes a string into a Soundex value. |
| </td> |
| </tr> |
| </table> |
| </subsection> |
| <subsection name="Network Encoders"> |
| <table> |
| <tr> |
| <td width="150"> |
| <a href="apidocs/org/apache/commons/codec/net/BCodec.html"> BCodec |
| </a> |
| </td> |
| <td> |
| Identical to the Base64 encoding defined by |
| <a href="https://www.ietf.org/rfc/rfc1521.txt">RFC 1521</a> |
| and allows a character set to be specified. |
| </td> |
| </tr> |
| <tr> |
| <td width="150"> |
| <a href="apidocs/org/apache/commons/codec/net/PercentCodec.html"> PercentCodec |
| </a> |
| </td> |
| <td> |
| Implements the Percent-Encoding scheme, as described in HTTP 1.1 specification. |
| </td> |
| </tr> |
| <tr> |
| <td width="150"> |
| <a href="apidocs/org/apache/commons/codec/net/QCodec.html"> QCodec |
| </a> |
| </td> |
| <td> |
| Similar to the Quoted-Printable content-transfer-encoding |
| defined in |
| <a href="https://www.ietf.org/rfc/rfc1521.txt">RFC 1521</a> |
| and designed to allow text containing mostly ASCII |
| characters to be decipherable on an ASCII terminal without |
| decoding. |
| </td> |
| </tr> |
| <tr> |
| <td width="150"> |
| <a |
| href="apidocs/org/apache/commons/codec/net/QuotedPrintableCodec.html"> QuotedPrintableCodec |
| </a> |
| </td> |
| <td> |
| Codec for the Quoted-Printable section of |
| <a href="https://www.ietf.org/rfc/rfc1521.txt">RFC 1521</a> |
| . |
| </td> |
| </tr> |
| <tr> |
| <td width="150"> |
| <a href="apidocs/org/apache/commons/codec/net/URLCodec.html"> URLCodec |
| </a> |
| </td> |
| <td> |
| Implements the |
| <code>www-form-urlencoded</code> |
| encoding scheme, also misleadingly known as URL encoding. |
| </td> |
| </tr> |
| </table> |
| </subsection> |
| </section> |
| <!-- ================================================== --> |
| </body> |
| </document> |