Rijndael.php
Pure-PHP implementation of Rijndael.
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).
}
Here's a short example of how to use this library:
Tags
Table of Contents
Classes
- Rijndael
- Pure-PHP implementation of Rijndael.