我一直在使用RandomStringUtils
生成随机 ID 作为数据库密钥:
import org.apache.commons.lang.RandomStringUtils;
public class RandomStringTest {
public static void main(final String[] args) {
for (int i = 0; i <= 10; i++) {
final String id = RandomStringUtils.random(8,
"0123456789abcdefghijklmnopqrstuvwxyz");
System.out.println(id);
}
}
}
密钥空间足够大,
len("0123456789abcdefghijklmnopqrstuvwxyz")^8 = 2821109907456 ≃ 10^12
随机机制是否正确播种?在将其应用于生产之前,我需要知道密钥是否已正确分配。
顺便说一句,测试代码在执行几次时没有显示重复,但这远非可靠的证据。