gpt4 book ai didi

python - 哈希函数可以防止碰撞,而不是攻击。 (产生一个随机的 UUID 大小的结果空间)

转载 作者:太空狗 更新时间:2023-10-30 01:16:14 25 4
gpt4 key购买 nike

使用 SHA1 来散列较大的字符串,以便它们可以用作数据库中的键。

尝试从原始字符串生成一个 UUID 大小的字符串,该字符串足够随机且足够大以防止冲突,但比原始字符串小得多。

不要将此用于任何与安全相关的事情。

示例:

# Take a very long string, hash it down to a smaller string behind the scenes and use
# the hashed key as the data base primary key instead
def _get_database_key(very_long_key):
return hashlib.sha1(very_long_key).digest()

SHA1 是用于此目的的好算法吗?还是有其他更合适的?

最佳答案

Python 有一个 uuid library , 基于 RFC 4122 .

使用 SHA1 的版本是 UUIDv5,所以代码应该是这样的:

import uuid

uuid.uuid5(uuid.NAMESPACE_OID, 'your string here')

关于python - 哈希函数可以防止碰撞,而不是攻击。 (产生一个随机的 UUID 大小的结果空间),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15183297/

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