【发布时间】:2016-05-01 02:31:19
【问题描述】:
我正在使用 openssl_encrypt 和 openssl_decrypt 函数来加密和解密作为查询字符串传递的 id。但在某些情况下,加密的查询字符串包含“+”字符。这导致 openssl_decrypt 函数出现问题,我收到以下警告。
$x = openssl_encrypt ('3', 'AES-256-CBC', $password,0, $iv);
echo openssl_decrypt ($x, 'AES-256-CBC', $password,0, $iv);
警告:openssl_decrypt():base64 解码输入失败
请让我知道是否有任何其他方法可以在没有此“+”字符的情况下加密数据。另外我想将加密id的字符长度限制在100以下。
【问题讨论】:
-
如果您使用的是 rdbms,您可能想要使用 CRC32 吗?无需加密解密,只需传递您的 id crc32 编码并与 crc32 匹配,或者在选择使用 crc32(id) 获取时,但此建议适用于您的目标是从公共隐藏您的真实 id。
标签: php encryption