代码之家  ›  专栏  ›  技术社区  ›  Niko Gamulin

如何创建哈希函数来屏蔽机密信息?

  •  1
  • Niko Gamulin  · 技术社区  · 14 年前

    在当前的项目中,我想创建自己的哈希函数,但到目前为止还没有获得太多的哈希原理的理论背景。

    谢谢您!

    另外,由于散列信息块在这个例子中是一个更大的研究项目的一部分,我想自己创建一个散列函数,通过这种方式学习原理,而不是使用现有的库。我正在处理的信息将留在家里,因此没有必要担心可能的攻击。

    4 回复  |  直到 14 年前
        1
  •  9
  •   Joe White    4 年前
    1. 不要。现有的加密和散列算法(正如上面的评论所指出的,它们之间几乎没有关系)是由专家设计的,并经过了广泛的同行评审。你白手起家写的任何东西相比之下都很糟糕。放心。真正地。你唯一得到的是一种错误的安全感——你的算法不会经过同行评审,所以你会认为它比实际更安全。

    2. 但是如果你真的想知道更多关于这个理论的知识(并且对为什么你不应该自己去做得到赞赏),读一读“ Applied Cryptography “通过 Bruce Schneier

    先温习一下你的数学。

        2
  •  3
  •   erickson    14 年前

    首先,如果您使用正确的术语,您将能够更好地找到有用的资源。

    “加密”是用密码执行的,而不是加密散列函数。你永远也找不到一个可靠的引用,提到散列作为“加密函数”。所以,如果你想学习哈希,就不要使用“加密”。

    “加密哈希”的另一个术语是“消息摘要”,所以在搜索时请记住这一点。

    一本好书的许多章节, 在线免费提供。尤其是退房 Chapter 9, "Hash Functions and Data Integrity."

        3
  •  0
  •   Jeff LaFay    14 年前

        4
  •  0
  •   Gavriel Feria    11 年前

    就像其他人说的, 做一种新的散列(代码会变得复杂,你最好重新发明SHA1或MD5)。但是如果你愿意的话,看看现有的散列(大多数是基于另一个)。或者你可以看看散列模型。哈希模型如下所示:

    1. 混合阶段(混合内容和修改)
    2. 组合阶段(将混合阶段中的数据与初始状态[原始散列]组合)

    或者可以从一些简单的东西开始并从中构建(以生成一个安全的散列)。