我一直在寻找一种简单的 Java算法来生成伪随机字母数字字符串.在我的情况下,它将被用作一个唯一的会话/密钥标识符,它"很可能"在500K+生成过程中是唯一的(我的需求实际上并不需要更复杂的东西).
理想情况下,我可以根据我的唯一性需求指定长度.例如,生成的长度为12的字符串可能看起来像"AEYGF7K0DM1X".
md5散列的字符串的最大长度是多少?或者:如果它没有限制,如果是,那么md5输出值的最大长度是多少?
如果我传入2 ^ 32组字符串,md5碰撞的概率是多少?
我可以说答案只是2 ^ 32/2 ^ 128 = 1/1.2621774e-29,因为md5 hash的位长是128?