在加密之前用gzcompress
进行数据压缩,压缩过后然后进行数据加密?
因为要直接替换mcrypt_encrypt
,为保证加密数据的一致性,要给openssl_encrypt
加密的数据补零?
或者有没有 自动补零的方法?用OPENSSL_ZERO_PADDING
并没有自动补零~~。
$plain = "hello world~";
$plain = gzcompress($plain);
$plain_padded = $plain;
if (strlen($plain_padded) % 8) {
//与 mcrypt 保持一致在末尾补零
$plain_padded = str_pad($plain_padded, strlen($plain_padded) + 8 - strlen($plain_padded) % 8, "\0");
}
$crypted = openssl_encrypt($plain_padded, "AES-128-CBC", $key, OPENSSL_ZERO_PADDING, $iv);
这样加密$crypted
总是返回 false?
求助大神怎么去处理这块~
谢谢
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.