小编典典

从64位整数到64位整数的可逆“哈希”函数

algorithm

我需要的是一个 可逆 函数,该函数将一个 整数(64位整数)转换为另一个
整数,这种方式对用户来说似乎是“随机的”(但实际上是确定性的),以便将3个后续数字转换为3个数字彼此完全不同。

做到这一点很容易而又不可逆,但是在这部分上却很难。

基本上,这是与可逆哈希函数相同的问题吗?,但我需要超过2 ^ 32个不同的值。

有任何想法吗?

PS:我要用Java编写它,但是问题本身是很普通的。


阅读 575

收藏
2020-07-28

共1个答案

小编典典

这些是块密码的基本要求,通常使用Feistel结构实现:https
:
//en.wikipedia.org/wiki/Feistel_cipher

  1. 创建低32位的哈希并将其与高32位进行异或
  2. 交换低32位和高32位
  3. 重复几次。
2020-07-28