我有一个id列表,我想使用Python为列表中的每个id显示一个假id。
我使用了uuid1()但是当我的列表中存在重复的id时,程序会停止并且不会为相同的输入id生成相同的随机ID。
print uuid.uuid1(data['user']['id']).int>>64
答案 0 :(得分:1)
你可以哈希你的id:
import hashlib
id = 12
hashlib.sha256(str(id).encode()).hexdigest() # with python2.x you don't need to encode()
# => '6b51d431df5d7f141cbececcf79edf3dd861c3b4069f0b11661a3eefacbba918'
你必须在某处存储对应关系,因为无法从哈希中检索id。
答案 1 :(得分:0)
,uuid1取决于当前时间。
通过重用相同的命名空间,您可以使用uuid3为同一输入创建可重现的uuid:
namespace = uuid.uuid4()
...
print uuid.uuid3(namespace, "1")