当前位置:  开发笔记 > 程序员 > 正文

可逆的"哈希"函数,从64位整数到64位整数

如何解决《可逆的"哈希"函数,从64位整数到64位整数》经验,为你挑选了1个好方法。

我需要的是一个可逆函数,它将(64位整数)转换为另一个数,对用户来说似乎是"随机的"(但实际上是确定性的),因此3个后续数字转换为3个数字彼此完全不同.

很容易做到这一点而不是可逆的,但事实证明这部分非常困难.

基本上它与可逆散列函数是一样的问题?,但我需要超过2 ^ 32个不同的值.

有任何想法吗?

PS:我将用Java编写它,但问题本身非常通用.



1> Matt Timmerm..:

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

    创建低32位的散列并将其异或成高32位

    交换低32位和高32位

    重复几次.

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有