【发布时间】:2015-12-25 18:46:11
【问题描述】:
我需要的是一个 可逆 函数,它将一个 long(64 位整数)转换为另一个 long 数字,其方式是对用户来说似乎是“随机的”(但实际上是确定性的),因此 3 个后续数字被转换为 3 个彼此完全不同的数字。
这很容易做到,但不可逆,但当涉及到这部分时,它变得相当困难。
基本上它和Reversible hash function? 是同一个问题,但我需要超过 2^32 个不同的值。
有什么想法吗?
PS:我打算用 Java 写,但问题本身就很笼统。
【问题讨论】:
-
是的。只需按照他们对另一个问题所做的操作,但要使用 64 位而不是 32 位。
-
哈希/校验和是一条单行道。它们被设计为不可逆转的。您正在寻找密码。