| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- <?php
- define('PHPAES_ROOT', dirname(__FILE__));
- include PHPAES_ROOT . '/phpseclib/Crypt/Common/BlockCipher.php';
- include PHPAES_ROOT . '/phpseclib/Crypt/AES.php';
- include PHPAES_ROOT . '/phpseclib/Crypt/Random.php';
- class phpAES
- {
- CONST MODE_CTR = -1;
- CONST MODE_ECB = 1;
- CONST MODE_CBC = 2;
- const MODE_CFB = 3;
- const MODE_OFB = 4;
- const MODE_STREAM = 5;
- const ENGINE_INTERNAL = 1;
- const ENGINE_EVAL = 2;
- const ENGINE_MCRYPT = 3;
- const ENGINE_OPENSSL = 4;
- public function init($key, $iv)
- {
- $this->aes = new AES(self::MODE_CBC);
- $this->aes->setKey($key);
- $this->aes->setIV($iv);
- }
- public function encrypt($output)
- {
- return $this->aes->encrypt($output);
- }
- public function decrypt($input)
- {
- return $this->aes->decrypt($input);
- }
- public function getEngine()
- {
- switch($this->aes->getEngine())
- {
- case self::ENGINE_INTERNAL : return 'ENGINE_INTERNAL';
- case self::ENGINE_EVAL : return 'ENGINE_EVAL';
- case self::ENGINE_MCRYPT : return 'ENGINE_MCRYPT';
- case self::ENGINE_OPENSSL : return 'ENGINE_OPENSSL';
- default: return 'error';
- }
- }
- public static function randomString($length)
- {
- return Random::string($length);
- }
- }
|