有效生成唯一的固定长度代码

时间:2015-10-17 17:26:10

标签: python hash sha1

我正在创建一个程序,生成唯一的代码,每个代码由10个字母数字字符组成,但我想知道是否有一个有效的算法才能这样做。我正在使用random.choice函数来确定这些代码,如果它们不存在于列表中,但效率非常低。

我已经通过SHA1的索引查看散列,因此没有发生冲突。但是,生成的哈希码不是十个字符的固定长度。如何才能产生10个字符的结果呢?请不要建议切片。这会增加碰撞的机会。

1 个答案:

答案 0 :(得分:0)

您可以查看完全解决该问题的uuid模块。 如果你坚持使用固定长度代码,我会对uuid的输出进行散列(例如sha1)并选择第一个n字节。