前言
对接一个第三方平台,其使用AES对称加密
代码
//方式1
//加密
function enAES($originTxt, $key='Q6Mr6rDpn12iZb'){return base64_encode(openssl_encrypt($originTxt, 'AES-128-ECB',$key, OPENSSL_RAW_DATA));
}//解密
function deAES($originTxt, $key='Q6Mr6rDpn2iOaZl')
{$data = base64_decode($originTxt);return openssl_decrypt($data, 'AES-128-ECB', $key, OPENSSL_RAW_DATA);
}//方式2
class AESTest {private function unpad($text) {return substr($text, 0, strlen($text) - ord(substr($text, -1)));}public function decrypt($data, $key, $iv) {$key = substr(base64_encode($key), 0, 16);$data = base64_decode($data);$iv = substr($iv, 0, 16);$decrypted = openssl_decrypt($data, 'AES-128-CBC', $key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING, $iv);$data = $this->unpad($decrypted);return $data;}
}$iv = 'A-16-Byte-String';
$key = 'd109090d17c54cedb2df6a251ce86d0baukidkidaukidaukid';
$content = 'p2ZdYGnw4ebE0YGIaMaoEGT4uVUhAXRFX/QqGUy7qZALE+8i9FY/Haeo/yU0umz56VQBGNGPg5k0WuUh7Et4Rb5R70MxrEBggtyHO1k/Svf1kZRzMWQCgaiDriFJQ/iXr7sZbQOCSMTgIa+CvxRjGYkF5mGniz/OtMLLfUXltZ9/toZ9mSa0kLmW2/e59FuUdB6HYX0t06bz+IcHmNAmCw7sy10AH0Eu5J626GY2rZsYyas9x33HxvMsqc9CkOkl8eYMwGb5s9BQnTNDd3FZQf6LPiYadz5aOrbM6r3hHpq5yEv2/u37PRDGFa7ZHNBTKTTUL0rBFZMk4yWEzHqfFv1vT2F5Of6DNoTkBvc+PHAksXI236ZRzgqbQwRQxAvw9qb87pocU3gPLf0dmFGcy/VWcOKxbkUuudKieyu4I=';$aes = new AESTest();
echo $aes->decrypt($content, $key, $iv), PHP_EOL;