提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
AES/CBC/PKCS5Padding的php用法
加密模式:AES/CBC/PKCS5Padding l 加密初始化向量:长度为 16 的空字节数组
加密样例如下
原文:
abcdefghigklmnopqrstuvwxyz0123456789
加密后:
8Z3dZzqn05FmiuBLowExK0CAbs4TY2GorC2dDPVlsn/t
P+VuJGePqIMv1uSaVErr
代码如下(示例):
class MagicCrypt
{
const TOKEN = '2qDhQh2L63kV7Szs';
public static $key_usage = self::TOKEN;
public static function encrypt($jsonResponse){
$iv = pack('H*', "00000000000000000000000000000000");
$pkcs5Padded = self::pkcs5Pad($jsonResponse);
$encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, self::$key_usage, $pkcs5Padded, MCRYPT_MODE_CBC, $iv);
$encoded = base64_encode($encrypted);
return $encoded;
}
public static function decrypt($text) {
$iv = pack('H*', "00000000000000000000000000000000");
$key = self::$key_usage;
$toDecrypt = base64_decode($text);
$decoded = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $toDecrypt, MCRYPT_MODE_CBC, $iv);
$pkcs5Padded = self::pkcs5Unpad($decoded);
return $pkcs5Padded ;
}
private static function ordutf8($string, &$offset){
$code = ord(substr($string, $offset,1));
if ($code >= 128) { //otherwise 0xxxxxxx
if ($