如何在python中通过给定字符串生成随机数?

如何在python中通过给定字符串生成随机数?,python,python-3.x,Python,Python 3.x,由于hash函数在不同的python解释器中给出不同的值,python中是否有更稳定的解释器 更新一: “稳定”意味着当字符串在任何时候都相同时,函数应该给出相同的数字哈希无法执行此操作 我想要一个函数,如: def generate_random_number_by_string(string:str)->int: pass 例如,generate\u random\u number\u by\u string(“16”)在任何时候都应该相同。您可以使用hashlib中的散列。

由于
hash
函数在不同的python解释器中给出不同的值,python中是否有更稳定的解释器

更新一:

“稳定”意味着当字符串在任何时候都相同时,函数应该给出相同的数字<代码>哈希无法执行此操作

我想要一个函数,如:

def generate_random_number_by_string(string:str)->int:
    pass

例如,
generate\u random\u number\u by\u string(“16”)
在任何时候都应该相同。

您可以使用
hashlib
中的散列。例如:

导入hashlib
int(hashlib.sha256(b'yourstring').hexdigest(),base=16)

你能定义“稳定”吗?为什么这对你的申请很重要?嗨,@ggorlen。“稳定”意味着当字符串在任何时候都相同时,函数应该给出相同的数字
hash
不能这样做。@DachuanZhao是的,sha256哈希给出了其值的完全均匀分布。@上面的DachuanZhao代码给出了0到2^256-1范围内整数的均匀分布。@Arty这就足够了。非常感谢~~~