php7.2 版本用 openssl_encrypt 代替 mcrypt_encrypt
ECB 加密
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| class Aes { public $key ;
public function __construct() { $this->key = '1234567890123456'; }
public function decode($str) { return openssl_decrypt(base64_decode($str),"AES-128-ECB",$this->key,OPENSSL_RAW_DATA); }
public function encode($str) { return base64_encode(openssl_encrypt($str,"AES-128-ECB",$this->key,OPENSSL_RAW_DATA)); }
}
|
CBC 加密
若你是采用 CBC
加密,则还需排序 $iv
偏移量,如下面是 AES-128-CBC
加解密类:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| class Aes { private static $key = "sV3KOjKoPhT8qTtq";
private static $iv = 'sV3KOjKoPhT8qTtq';
public static function decrypt(string $str) { return openssl_decrypt(base64_decode($str), "AES-128-CBC", self::$key, OPENSSL_RAW_DATA, self::$iv); }
public static function encrypt(string $str): string { return base64_encode(openssl_encrypt($str, "AES-128-CBC", self::$key, OPENSSL_RAW_DATA, self::$iv)); } }
|
原文链接:
https://my.oschina.net/u/3403514/blog/1809008