此处提供两种示例代码,一种返回32位哈希值,另一种返回64位哈希值。
import hashlib
def hash_string(string):
# 使用MD5哈希算法将字符串转换为哈希值
md5_hash = hashlib.md5(string.encode('utf-8'))
# 获取哈希值的前8个字节,并转换为32位无符号整数
return int.from_bytes(md5_hash.digest()[:4], byteorder='little', signed=False)
这里的实现使用了Python标准库中的hashlib模块,它提供了多种哈希算法,我们选择了较短的MD5算法,并截取了前4个字节(32位),最后将这4个字节解释为一个无符号整数返回。如果需要返回64位哈希值,则只需要修改第8行代码为:
return int.from_bytes(md5_hash.digest()[:8], byteorder='little', signed=False)
import hashlib
def hash_string(string):
# 使用SHA-256哈希算法将字符串转换为哈希值
sha256_hash = hashlib.sha256(string.encode('utf-8'))
# 获取哈希值的前8个字节,并转换为64位无符号整数
return int.from_bytes(sha256_hash.digest()[:8], byteorder='little', signed=False)
这里使用了SHA-256哈希算法,将结果解释为一个8字节的无符号整数进行返回。如果需要返回其他位数的哈希值,只需要修改第8行代码中的数字即可。