gpt4 book ai didi

php - 混淆python中的值

转载 作者:太空宇宙 更新时间:2023-11-04 06:14:07 25 4
gpt4 key购买 nike

假设我有以下字符串

a = "123456"
b = "#$%[{\"
c = "ABCDEFG"

我需要将这三个字符串转换成具有以下属性的“d”字符串

  • “d”字符串是混淆的(不需要加密)
  • d字符串可以转换成a,b,c字符串(可逆)
  • “d”字符串应该可以快速计算
  • “d”字符串应尽可能短

到目前为止我所做的是这样的

d = a+"|"+b+"|"+c
d = base64.encode(d)

到目前为止,这满足了前三个要求,但没有满足第三个要求,因为 base64 往往会使字符串变得非常大。

我也一直在寻找其他解决方案

  • 使用异或加密
  • 考虑使用 CRC32,因为一些问题 (Reversing CRC32) 指出可能会还原它,但是,我不确定。

最后注意一下,“混淆”部分由python完成,“还原”部分由php完成。

有什么想法吗?

最佳答案

如果您的字符串比您的示例稍长,那么 zlib module 可能是一个不错的选择:

>>> import zlib
>>> zlib.compress("123456789123456789")
'x\x9c3426153\xb7\xb04\x841\x00#\x01\x03\xbb'
>>> zlib.decompress(_)
'123456789123456789'

但是,由于格式的开销,短字符串往往会变得更长:

>>> zlib.compress("1234")
'x\x9c3426\x01\x00\x01\xf8\x00\xcb'

可以用PHP的gzuncompress解压。

关于php - 混淆python中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16954349/

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