我对开发自己的简单哈希机制感到好奇。
我想知道一些不可逆的数学函数。
我知道提升到函数和模数是一些不可逆的函数,因为反向过程给出了两个答案。
例如:- 平方根 (4) = 2 或 -2
我需要一个不可逆的函数,因为即使有人破解了我的密码,他们也不应该能够产生一个解密器,它可以轻松地解密我的散列中的密码。
使用这个函数,我可以使我的散列更加安全。
如果有人可以提供更多此类功能并进行解释,那将很有帮助。
我对开发自己的简单哈希机制感到好奇。
我想知道一些不可逆的数学函数。
我知道提升到函数和模数是一些不可逆的函数,因为反向过程给出了两个答案。
例如:- 平方根 (4) = 2 或 -2
我需要一个不可逆的函数,因为即使有人破解了我的密码,他们也不应该能够产生一个解密器,它可以轻松地解密我的散列中的密码。
使用这个函数,我可以使我的散列更加安全。
如果有人可以提供更多此类功能并进行解释,那将很有帮助。
R 中的平方是不可逆的,因为它会丢失信息。但这根本不是散列函数的意义所在。
加密哈希函数有两个主要属性:
R 上的平方没有这些性质:
x
只是计算-x
,两者都平方x*x
。不幸的是,没有具有这些属性的“简单”功能。
相关问题:
模数是不可逆的。绝对价值是不可逆的。舍入是不可逆的。
盐渍“功能”应该是可逆的。加盐的目的只是将额外的(难以猜测的)数据添加到您要散列的值中。这样,攻击者就很难用自己的猜测对哈希进行逆向工程。
一种常见的解决方案是将盐添加/附加到您要散列的文本中。
例如,如果您的隐藏值是“密码”,而您的 salt 是 0 到 255 之间的随机数,那么实际存储在数据库中的内容可能是 md5(123password), 123。所以它对 salt 没有任何意义操作是不可逆的,因为它已经被散列了,这是一种不可逆的。