python - 如何将一个字符串散列成 8 位数字?

标签 python arrays algorithm random hash

有没有我可以在不自己实现任何算法的情况下将一个随机字符串散列成一个 8 位数字?

最佳答案

是的,您可以使用内置的 hashlib模块或内置hash功能。然后,在散列的整数形式上使用模运算或字符串切片运算去掉最后八位数字:

>>> s = 'she sells sea shells by the sea shore'

>>> # Use hashlib
>>> import hashlib
>>> int(hashlib.sha1(s.encode("utf-8")).hexdigest(), 16) % (10 ** 8)
58097614L

>>> # Use hash()
>>> abs(hash(s)) % (10 ** 8)
82148974

关于python - 如何将一个字符串散列成 8 位数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16008670/

相关文章:

python - 安装应用程序时出现 OpenERP 服务器问题消息 [Errno 13] python 权限

javascript - 在 Javascript 中将函数插入数组

在 Θ(n) 时间内对列表进行排序的算法

arrays - 左/右旋转数组后最长递增子数组的长度

arrays - 找出相差不超过 k 的两个元素之间的最大距离

algorithm - 为什么通过插入元素构建堆的运行时间比使用 heapify 差?

python - Python string.find 使用什么?

python - 如何使用 python 拆分数据框内的值

python - 在多标签分类中使用样本权重

javascript - 展平嵌套回调