gpt4 book ai didi

hash - CRC32 整数散列到字符串

转载 作者:行者123 更新时间:2023-12-04 01:50:17 25 4
gpt4 key购买 nike

我在寻找 CRC32 的 Lua 实现并偶然发现了这个: https://github.com/openresty/lua-nginx-module/blob/master/t/lib/CRC32.lua

但是它返回整数散列,我将如何获得与它等效的字符串?

使用输入“something”返回:1850105976

使用在线 CRC32 生成器,我得到:“879fb991”

最佳答案

CRC-32 算法有很多种。您可以在 this catalog 中找到十个不同的 CRC-32 .您找到的 Lua 代码和您找到的在线 CRC32(某处 -- 未提供链接)是不同的 CRC-32。

“等效字符串”的意思似乎是 32 位整数的十六进制表示。在 Lua 中,您可以使用 string.format 和打印格式 %x 来获取十六进制。对于您给出的示例,1850105976,这将是 6e466078

您的“在线 CRC32 生成器”似乎正在使用 BZIP2 CRC-32,尽管它以相反的顺序(小端)向您显示生成的 CRC 的字节。因此,在这种情况下,十六进制的实际 CRC 是 91b99f87。您发现的 Lua 代码似乎正在使用 MPEG-2 CRC-32。它们之间的唯一区别是异或与 ffffffff。所以实际上,您从两个不同来源获得的两个 CRC 的异或,6e466078 ^ 91b99f87ffffffff

关于hash - CRC32 整数散列到字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40706546/

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