gpt4 book ai didi

python - zlib.crc32 或 zlib.adler32 可以安全地用于屏蔽 URL 中的主键吗?

转载 作者:行者123 更新时间:2023-12-01 06:17:13 32 4
gpt4 key购买 nike

Django Design Patterns ,作者建议使用 zlib.crc32 来屏蔽 URL 中的主键。经过一些快速测试后,我注意到 crc32 大约有一半的时间会生成负整数,这似乎不适合在 URL 中使用。 zlib.adler32 似乎不会产生负数,但被描述为 "weaker" than CRC .

  1. 在 URL 中使用此方法(CRC 或 Adler-32)作为主键的替代方法是否安全? (即碰撞安全吗?)
  2. “较弱的”Adler-32 是这项任务的令人满意的替代方案吗?
  3. 你到底要如何扭转这个局面?!即如何从校验和中确定原始主键?

最佳答案

问题不在于对值进行哈希处理。问题是将散列映射回 key 。即使存在冲突,您也可以随时递增,直到遇到未使用的哈希值。

哈希值用于例如身份验证是因为已经有一个可用于查找适当记录的 key (例如用户名)。那时,只需将给定的哈希值与存储的哈希值进行比较即可。如果您使用散列来掩盖 key ,那么它会比仅仅比较它更棘手。不过,将哈希值本身转换为 key 可以解决这个问题。

关于python - zlib.crc32 或 zlib.adler32 可以安全地用于屏蔽 URL 中的主键吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2610677/

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