ILIAS
release_5-4 Revision v5.4.26-12-gabc799a52e6
|
Pure-PHP implementations of keyed-hash message authentication codes (HMACs) and various cryptographic hashing functions. More...
Data Structures | |
class | AES |
class | Base |
class | Blowfish |
class | DES |
class | Hash |
class | Random |
class | RC2 |
class | RC4 |
class | Rijndael |
class | RSA |
class | TripleDES |
class | Twofish |
Pure-PHP implementations of keyed-hash message authentication codes (HMACs) and various cryptographic hashing functions.
Pure-PHP implementation of Rijndael.
Uses hash() or mhash() if available and an internal implementation, otherwise. Currently supports the following:
md2, md5, md5-96, sha1, sha1-96, sha256, sha256-96, sha384, and sha512, sha512-96
If setKey() is called, hash() will return the HMAC as opposed to the hash. If no valid algorithm is provided, sha1 will be used.
PHP version 5
{
Uses mcrypt, if available/possible, and an internal implementation, otherwise.
PHP version 5
If setBlockLength() isn't called, it'll be assumed to be 128 bits. If setKeyLength() isn't called, it'll be calculated from setKey(). ie. if the key is 128-bits, the key length will be 128-bits. If it's 136-bits it'll be null-padded to 192-bits and 192 bits will be the key length until setKey() is called, again, at which point, it'll be recalculated.
Not all Rijndael implementations may support 160-bits or 224-bits as the block length / key length. mcrypt, for example, does not. AES, itself, only supports block lengths of 128 and key lengths of 128, 192, and 256. Rijndael-ammended.pdf#page=10 defines the algorithm for block lengths of 192 and 256 but not for block lengths / key lengths of 160 and 224. Indeed, 160 and 224 are first defined as valid key / block lengths in Rijndael-ammended.pdf#page=44: Extensions: Other block and Cipher Key lengths. Note: Use of 160/224-bit Keys must be explicitly set by setKeyLength(160) respectively setKeyLength(224).
{