数学函数无法逆转?

时间:2012-08-19 17:18:23

标签: math encryption operators hash

我很想开发自己的简单哈希机制。

我想知道一些不可逆转的数学函数。

我知道提升到函数和模数是一些不可逆转的函数,因为反向过程给出了两个答案。

  

例如: - 平方根(4)= 2或-2

我需要一个不可逆的功能,因为即使有人破解了我的密码,他们也不应该生成一个解密器,它可以很容易地解密我的哈希密码。

使用此功能,我可以使哈希更加安全。

如果有人可以提供更多此类功能并提供解释,将会很有帮助。

4 个答案:

答案 0 :(得分:4)

R中的Squaring在丢失信​​息的意义上是不可逆转的。但这根本不是什么哈希函数。

加密哈希函数有两个主要属性:

  1. 很难找到两个具有相同输出的输入,称为 collision
  2. 很难找到与给定输出匹配的输入,称为前映像
  3. 在R上Squaring没有这些属性:

    1. 找到碰撞是微不足道的。给定x只计算-x,两者都与x*x
    2. 对齐
    3. 轻松找到前映像。计算平方根。有效的算法。 (如果结果不合理,忽略无法输出无限数字序列的问题)
    4. 不幸的是,这些属性没有“简单”功能。

      相关问题:

答案 1 :(得分:0)

盐渍“功能”应该是可逆的。 salt的重点只是将额外的(难以猜测的)数据添加到您想要散列的值。这样,攻击者就可以通过他们自己的猜测更难以逆向工程哈希。

一个常见的解决方案是将salt添加/添加到您要哈希的文本中。

例如,如果您的隐藏值是“password”,并且您的salt是0到255之间的随机数,那么实际存储在您的数据库中的东西可能是md5(123password),123。所以它确实没有意义盐操作是不可逆转的,因为它已经被散列,这是有点,不可逆转。

答案 2 :(得分:0)

  1. 权力为0.
  2. 虚数是好的,因为如果计算机已经知道如何处理它,计算机只能通过它。
  3. 舍入数字。

答案 3 :(得分:0)

Modulo是不可逆转的。绝对价值是不可逆转的。舍入是不可逆转的。