关于随机数生成有不同的问题,但我没有看到一个可以解决我想要解决的具体问题。
我的要求是:
有办法做到这一点吗?任何帮助或建议在哪里看将不胜感激。 (这将在PHP中实现,但我只是在寻找一种算法来实现这一点。)
答案 0 :(得分:0)
执行您要求的简单方法是获取一个数字并将其映射到易于测试的程序。例如,您可能决定使数字可被100整除。因此,只需生成随机数,然后四舍五入到最接近的可被100整除的数。或者您可以生成6位数,然后使用散列算法生成另外4位数。
如果你知道规则,很容易验证数字是否合适。你会发现很少的误报。而这种模式很难被偶然发现。
但请记住。 "不容易被偶然发现,"并不是一样的,"会抵制严重的破坏它的尝试。"如果你需要安全的东西,这不是怎么回事。
答案 1 :(得分:0)
使用整数计数器并使用10位到10位加密方案对其进行加密。
计数器将从0到4999运行。要验证该号码,只需在解密后检查高位数是否为零。 (您偶然形成有效代码的可能性超过两百万。)
要定义多个集合,您可以让计数器运行更高的值或使用不同的加密密钥。