lib/plugin/webauth/vendor/phpseclib/phpseclib/phpseclib/CryptAES.php

Pure-PHP implementation of AES.

Uses mcrypt, if available/possible, and an internal implementation, otherwise.

PHP version 5

NOTE: Since AES.php is (for compatibility and phpseclib-historical reasons) virtually just a wrapper to Rijndael.php you may consider using Rijndael.php instead of to save one include_once().

If {@link self::setKeyLength() setKeyLength()} isn't called, it'll be calculated from {@link self::setKey() 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 {@link self::setKey() setKey()} is called, again, at which point, it'll be recalculated.

Since \phpseclib\Crypt\AES extends \phpseclib\Crypt\Rijndael, some functions are available to be called that, in the context of AES, don't make a whole lot of sense. {@link self::setBlockLength() setBlockLength()}, for instance. Calling that function, however possible, won't do anything (AES has a fixed block length whereas Rijndael has a variable one).

Here's a short example of how to use this library: <?php include 'vendor/autoload.php';

$aes = new \phpseclib\Crypt\AES();

$aes->setKey('abcdefghijklmnop');

$size = 10 * 1024; $plaintext = ''; for ($i = 0; $i < $size; $i++) { $plaintext.= 'a'; }

echo $aes->decrypt($aes->encrypt($plaintext)); ?>

Classes

AES Pure-PHP implementation of AES.