顯示具有 php 標籤的文章。 顯示所有文章
顯示具有 php 標籤的文章。 顯示所有文章

2014年5月26日 星期一

php mcrypt_encrypt mcrypt_decrypt

public static function AESEncode($data){
$blockSize = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128,MCRYPT_MODE_CBC);
$padding = $blockSize - (strlen($data) % $blockSize);
$data .= str_repeat(chr($padding), $padding);
$encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, self::$PrivateKey, $data, MCRYPT_MODE_CBC, self::$IV);
$edata = base64_encode($encrypted);
return $edata;
}

public static function AESDecode($edata){
$encryptedData = base64_decode($edata);
$decrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, self::$PrivateKey, $encryptedData, MCRYPT_MODE_CBC, self::$IV);
//需移除PKCS7padding
$padding = ord($decrypted[strlen($decrypted) - 1]);
return substr($decrypted, 0, -$padding);
}