约定方式:
aes-128-ecb方式,pkcs7填充,base64
遇到的问题:
在key
小于等于16位时,调用openssl_encrypt($text, 'aes-128-ecb', $key)
结果一致,当key
大于16位时,结果不一致。
解决问题:
当key
大于16位,改用256位方式加密。
<?php
class 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;
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。