共计 325 个字符,预计需要花费 1 分钟才能阅读完成。
约定形式:
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;
}
}
正文完