約定方式:
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;
}
}