我正在创建一个程序,生成每个包含10个字母数字字符的唯一代码,但我想知道是否有一个有效的算法。我使用random.choice
函数来确定这些代码是否已经存在于列表中,但这样效率很低。独特的固定长度代码的高效生成
我已经研究了带有SHA1索引的哈希,所以没有发生冲突。但是,生成的哈希码不具有十个字符的固定长度。我怎么能做同样的产生10个字符的结果?请不要建议切片。这会增加碰撞的机会。
我正在创建一个程序,生成每个包含10个字母数字字符的唯一代码,但我想知道是否有一个有效的算法。我使用random.choice
函数来确定这些代码是否已经存在于列表中,但这样效率很低。独特的固定长度代码的高效生成
我已经研究了带有SHA1索引的哈希,所以没有发生冲突。但是,生成的哈希码不具有十个字符的固定长度。我怎么能做同样的产生10个字符的结果?请不要建议切片。这会增加碰撞的机会。
你需要多少个代码?你是否事先知道你需要多少? –
@StefanPochmann不,客户端将输入要生成的代码数量。 –
为什么“不”?那么你在生成它们之前确实有这个数字,不是吗? –