我需要生成6个字母数字字符的保留代码,该保留代码在Java中是随机且唯一的。
使用UUID.randomuuid().toString()
尝试过,但是id太长,并且要求它只能是6个字符。
有什么方法可以实现这一目标?
只是为了澄清,(因为这个问题被标记为重复)。
我发现的其他解决方案只是生成随机字符,在这种情况下还不够。我需要合理地确保不会再次生成随机代码。
最佳答案
考虑使用hashids
库生成整数的带盐哈希值(您的数据库ID或其他随机整数可能更好)。
http://hashids.org/java/
Hashids hashids = new Hashids("this is my salt",6);
String id = hashids.encode(1, 2, 3);
long[] numbers = hashids.decode(id);
关于java - Java程序生成唯一且随机的六个字母数字代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32578195/