相关疑难解决方法(0)

使用alpanumeric子集生成1M唯一随机密钥

我想生成1M随机(出现)唯一的字母数字键并将它们存储在数据库中.每个密钥长度为8个字符,仅使用子集"abcdefghijk n pqrstuvxyz和0-9".

字母l,m,o和w被丢弃.由于打印空间有限,"m和w"被省略,因为每个键将在非常小的空间内打印在产品上.删除m和w可以使字母大小增加2pt,从而提高可读性.l和o被丢弃,因为它们很容易与当前打印尺寸的1,i和0混合.我们做了一些测试字符1,i和0总是正确读取,l和o有很多错误.资本被遗漏的原因与"m和w"相同.

那为什么不是一个序列呢?有几个原因:密钥可以在之后注册,我们不希望任何人猜测序列中的下一个密钥并注册其他人的密钥.外观:我们不需要客户和竞争对手知道我们只发了几千把钥匙.

是否有实用的方法来生成密钥,确保每个密钥的唯一性并将它们存储在数据库中?谢谢!

c# random unique

3
推荐指数
1
解决办法
943
查看次数

如何确保随机数是唯一的而不是重复的?

我有一个生成随机数的简单代码

SecureRandom random = new SecureRandom();
...
public int getRandomNumber(int maxValue) {
    return random.nextInt(maxValue);
}
Run Code Online (Sandbox Code Playgroud)

上面的方法被调用大约10次(不是循环).我想确保所有数字都是唯一的(假设maxValue > 1000).

我可以确定每次打电话都会得到唯一的号码吗?如果没有,我该如何解决?

编辑:我可能含糊地说.我想避免手动检查,如果我真的有唯一的数字,所以我想知道是否有更好的解决方案.

java random unique

2
推荐指数
1
解决办法
4298
查看次数

标签 统计

random ×2

unique ×2

c# ×1

java ×1