gpt4 book ai didi

php - 如何在 PHP 中压缩/解压缩长查询字符串?

转载 作者:IT王子 更新时间:2023-10-29 01:12:50 26 4
gpt4 key购买 nike

我怀疑这是否是加密,但我找不到更好的短语。我需要像这样传递一个长查询字符串:

http://test.com/test.php?key=[some_very_loooooooooooooooooooooooong_query_string]

查询字符串不包含任何敏感信息,因此在这种情况下我并不真正担心安全性。只是……好吧,太长太丑了。是否有一个库函数可以让我将查询字符串编码/加密/压缩为类似于 md5() 的结果(类似于,始终是 32 个字符的字符串),但可以解码/解密/解压缩?

最佳答案

您可以尝试 gzdeflate 的组合(原始 deflate 格式)压缩您的数据和 base64_encode只使用那些没有百分比编码允许的字符(另外通过 -_ +/):

$output = rtrim(strtr(base64_encode(gzdeflate($input, 9)), '+/', '-_'), '=');

反之:

$output = gzinflate(base64_decode(strtr($input, '-_', '+/')));

这是一个例子:

$input = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.';

// percent-encoding on plain text
var_dump(urlencode($input));

// deflated input
$output = rtrim(strtr(base64_encode(gzdeflate($input, 9)), '+/', '-_'), '=');
var_dump($output);

在这种情况下节省了大约 23%。但此压缩过程的实际效率取决于您使用的数据。

关于php - 如何在 PHP 中压缩/解压缩长查询字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2996049/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com