约定形式:
aes-128-ecb形式,pkcs7填充,base64
遇到的问题:
在key
小于等于16位时,调用openssl_encrypt($text, 'aes-128-ecb', $key)
后果统一,当key
大于16位时,后果不统一。
解决问题:
当key
大于16位,改用256位形式加密。
<?phpclass Encrypter{ public static function encrypt($key, $text) { if (strlen($key) <= 16) { $algo = 'AES-128-ECB'; } else { $algo = 'AES-256-ECB'; } $data = openssl_encrypt($text, $algo, $key); return $data; }}