一尘不染

如何将字符串散列为8位数字?

algorithm

无论如何,我可以将随机字符串散列为8位数字,而无需自己实现任何算法?


阅读 539

收藏
2020-07-28

共1个答案

一尘不染

是的,您可以使用内置的
hashlib

模块或内置的 hash
函数。然后,对整数形式的哈希使用模运算或字符串切片运算来切掉最后八位数字:

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

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

>>> # Use hash()
>>> abs(hash(s)) % (10 ** 8)
82148974
2020-07-28