|
|
|
|
<?php
|
|
|
|
|
class aesLanhai{}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 使用旧的mcrypt来写,澜海加解密类
|
|
|
|
|
*/
|
|
|
|
|
class Security {
|
|
|
|
|
|
|
|
|
|
private $key;
|
|
|
|
|
|
|
|
|
|
public function __construct() {
|
|
|
|
|
$CI =& get_instance();
|
|
|
|
|
$CI->load->config();
|
|
|
|
|
$this->key = LANHAI_KEY;
|
|
|
|
|
//$this->key = "999c1DtJJ4pEbcxeEqJBKw==";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function encryptData($input) {
|
|
|
|
|
$size = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
|
|
|
|
|
$input = Security::pkcs5_pad($input, $size);
|
|
|
|
|
$td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_ECB, '');
|
|
|
|
|
$iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
|
|
|
|
|
mcrypt_generic_init($td, $this->key, $iv);
|
|
|
|
|
$data = mcrypt_generic($td, $input);
|
|
|
|
|
mcrypt_generic_deinit($td);
|
|
|
|
|
mcrypt_module_close($td);
|
|
|
|
|
$data = base64_encode($data);
|
|
|
|
|
return $data;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static function pkcs5_pad ($text, $blocksize) {
|
|
|
|
|
$pad = $blocksize - (strlen($text) % $blocksize);
|
|
|
|
|
return $text . str_repeat(chr($pad), $pad);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function decryptData($sStr) {
|
|
|
|
|
$decrypted= mcrypt_decrypt(
|
|
|
|
|
MCRYPT_RIJNDAEL_128,
|
|
|
|
|
$this->key,
|
|
|
|
|
base64_decode($sStr),
|
|
|
|
|
MCRYPT_MODE_ECB
|
|
|
|
|
);
|
|
|
|
|
$dec_s = strlen($decrypted);
|
|
|
|
|
$padding = ord($decrypted[$dec_s-1]);
|
|
|
|
|
$decrypted = substr($decrypted, 0, -$padding);
|
|
|
|
|
return $decrypted;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|