相关疑难解决方法(0)

为什么MD5哈希值不可逆?

我一直想知道的一个概念是使用加密哈希函数和值.我知道这些函数可以生成一个唯一且几乎不可能反转的哈希值,但这是我一直想知道的:

如果在我的服务器上,在PHP中我生成:

md5("stackoverflow.com") = "d0cc85b26f2ceb8714b978e07def4f6e"
Run Code Online (Sandbox Code Playgroud)

通过MD5函数运行相同的字符串时,您在PHP安装上获得相同的结果.正在使用一个过程从一些起始值产生一些值.

这是不是意味着有一些方法来解构正在发生的事情并扭转哈希值?

这些函数是什么使得结果字符串无法回溯?

hash md5 cryptography cryptographic-hash-function

88
推荐指数
6
解决办法
3万
查看次数

可逆散列函数?

我需要一个可逆的哈希函数(显然输入的大小要小于输出),它以一种随机的方式将输入映射到输出.基本上,我想要一种方法将像"123"这样的数字转换为更大的数字,如"9874362483910978",但不是以保留比较的方式,所以如果x1> x2,f(x1)则不能总是如此)> f(x2)(但也不一定总是假).

对此的用例是我需要找到一种方法将小数字转换为更大的,随机的数字.它们实际上并不需要是随机的(事实上,它们需要是确定性的,所以相同的输入总是映射到相同的输出),但它们确实需要看起来是随机的(至少当base64编码为字符串时,所以移位Z位将无法工作,因为类似的数字将具有类似的MSB).

此外,简单(快速)计算和反转是一个加号,但不是必需的.

我不知道我是否清楚,或者是否存在这样的算法,但我会感激任何帮助!

python hash

31
推荐指数
3
解决办法
3万
查看次数

反转CRC32

我正在寻找一种方法来反转CRC32校验和.有解决方案,但它们要么写得很糟糕,要么非常技术性和/或在装配中.汇编(目前)超出了我的范围,所以我希望有人可以用更高级别的语言拼凑一个实现.Ruby是理想的,但我可以解析PHP,Python,C,Java等.

任何接受者?

algorithm crc32 reverse reverse-engineering crc

9
推荐指数
2
解决办法
3万
查看次数