【发布时间】:2014-05-07 14:35:24
【问题描述】:
假设我有以下可能的字符串值:
exp="110"
exp="110-120"
exp="110-120-211"
其实这是从URL获取的GET参数。 exp 可以变得非常大,所以我想让它更短(加密它)。不是因为安全原因,而是因为我不希望它又长又丑。
所以我想加密exp 成为一个固定长度的短字符串,比如说15。有可能吗?像这样的:
encrypt("110") results in "Ax1234B"
encrypt("110-120") results in "85xHdjX"
我正在使用 python 顺便说一句
编辑
忘了提一下:我还需要一个decrypt 函数才能使用。此外,我更喜欢标准 python 库中的解决方案,而无需安装新包。
【问题讨论】:
-
不,不可能以可逆的方式将任意大的数据集放入固定长度。也许您需要重新定义允许的内容。不过你当然可以缩短它
-
我们用来缩短的一种方法是压缩字符串,然后对其进行 base64 编码。这显然不是固定长度,而是非常可逆的。
-
您尝试传输的数据的域是什么?
-
如果你想让一些东西更小,并且如果你没有任何安全要求,那么你就是在谈论压缩。如果您想将压缩形式存储在特定字符串中,您正在谈论编码。如果您不介意,我会相应地更改标签。
标签: python django url encoding compression