繁体   English   中英

如何在一个范围内生成每个可能的整数,而不会从同样可逆的种子中重复

[英]How can I generate every possible integer in a range without repeats from a seeds that is also reversible

我一直在通过种子寻找大量的世代,但由于它的具体性,我一直在努力寻找我正在寻找的东西。 我认为导致问题的主要原因是我想要生成的数字的大小,例如......我想要它,这样我就可以通过某种形式的种子或选择性生成每个 5000 位长的数字输入过程。 另一个问题是我希望能够扭转这个过程以了解我是如何到达那里的。 如果我有这个数字,我想知道什么输入或什么种子会产生这个数字。 希望这是有道理的,我知道这是一个非常具体的问题。

对于这样的问题,我会使用加密。 由于加密是一个一对一的过程,只要您使用唯一的输入并保持相同的密钥,那么输出就可以保证是唯一的。 对于唯一输入,加密数字 0、1、2、3,... 您需要通过添加前导零来扩展输入,使其达到您需要的大小,足以满足 5,000 个十进制数字的二进制等价物。

加密的输出将是相同的大小。 只需将二进制输出转换回等效的十进制数。 可能有一些边界情况刚好超过十进制和二进制边界的限制; 在这些情况下,只需重新加密,直到结果在设定的限制内。 这是来自 Format Preserving 加密的循环行走技术。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM