C++ &引用;“解密”;c+中的MD5+;

C++ &引用;“解密”;c+中的MD5+;,c++,encryption,hash,cryptography,C++,Encryption,Hash,Cryptography,我知道解密MD5散列是不可能的。然而,我正在尝试解决一个谜语游戏,很多提示都是用MD5加密的。由于我在谷歌上找不到一些加密的单词,我想知道是否可以制作一个C++程序来存储常用的英语单词和加密,当给定的加密搜索时,答案是: 编辑:提示是单词,而不是短语。它不是加密,而是一个安全的哈希函数:它只设计为单向。并且没有办法给出一个散列来告诉它原始输入字符串包含一些单词;你需要完全猜出整个暗示,否则你得不到任何信息 但是如果提示只是单词,那么你当然可以建立一个候选单词的哈希表,并在其中搜索给定的哈希;这将

我知道解密MD5散列是不可能的。然而,我正在尝试解决一个谜语游戏,很多提示都是用MD5加密的。由于我在谷歌上找不到一些加密的单词,我想知道是否可以制作一个C++程序来存储常用的英语单词和加密,当给定的加密搜索时,答案是:
编辑:提示是单词,而不是短语。

它不是加密,而是一个安全的哈希函数:它只设计为单向。并且没有办法给出一个散列来告诉它原始输入字符串包含一些单词;你需要完全猜出整个暗示,否则你得不到任何信息


但是如果提示只是单词,那么你当然可以建立一个候选单词的哈希表,并在其中搜索给定的哈希;这将相当容易。

它不是加密,而是一个安全的哈希函数:它被设计为仅单向。并且没有办法给出一个散列来告诉它原始输入字符串包含一些单词;你需要完全猜出整个暗示,否则你得不到任何信息


但是如果提示只是单词,那么你当然可以建立一个候选单词的哈希表,并在其中搜索给定的哈希;这将是相当容易的。

如前所述,散列是一个无法反转的数学函数。所以不可能“解密”散列


然而,正如您所猜测的,计算可疑结果的哈希值并将您的哈希值与之进行比较是非常好的。在现实场景中,可能会使用a来实现这一点,但由于这是一种测试,您可以使用a来实现这一点。

如前所述,哈希是一个无法反转的数学函数。所以不可能“解密”散列


然而,正如您所猜测的,计算可疑结果的哈希值并将您的哈希值与之进行比较是非常好的。在现实世界中,可能会有一个用于使这不可能,但由于这是一种测试,您可以使用一个来实现这一点。

MD5散列是一种散列函数,就像单词所说的那样。散列函数是在更小的输出范围内显示输入的函数。这也是一个单向函数,不可能“去灰化”某些东西

例如:

输入:所有可能的字符 输出:介于0和100万之间的数字

(100万肯定够了,见)


假设你在散列一个文本,每个单词都可以显示在一个数字上。哈希函数通常不能保证一个单词不会显示在同一个数字上。但是,由于有更多的单词没有意义,哈希函数在大多数情况下都会工作

MD5哈希是一种哈希函数,就像单词所说的一种哈希函数。散列函数是在更小的输出范围内显示输入的函数。这也是一个单向函数,不可能“去灰化”某些东西

例如:

输入:所有可能的字符 输出:介于0和100万之间的数字

(100万肯定够了,见)


假设你在散列一个文本,每个单词都可以显示在一个数字上。哈希函数通常不能保证一个单词不会显示在同一个数字上。但是,由于还有更多没有意义的单词,哈希函数在大多数情况下都会工作

解密哈希的方法是基于字符串生成一个哈希,并将结果与已有的哈希进行比较

例如,如果您知道游戏只使用字母,那么您可以创建一个包含所有字母组合的表,使用此数据库并使用MD5对它们进行哈希,然后将它们与您拥有的哈希进行比较

你可以用任何你想要的编程语言来实现这一点,只需google:md5散列“语言”。您将找到一个用于散列的现成函数。然后你只需要写:

  • 生成可能单词数据库的代码
  • 把那些词弄乱
  • 将哈希值与已有的哈希值进行比较

希望这有帮助。

解密哈希的方法是基于字符串生成一个哈希,并将结果与已有的哈希进行比较

例如,如果您知道游戏只使用字母,那么您可以创建一个包含所有字母组合的表,使用此数据库并使用MD5对它们进行哈希,然后将它们与您拥有的哈希进行比较

你可以用任何你想要的编程语言来实现这一点,只需google:md5散列“语言”。您将找到一个用于散列的现成函数。然后你只需要写:

  • 生成可能单词数据库的代码
  • 把那些词弄乱
  • 将哈希值与已有的哈希值进行比较

希望这有帮助。

提示不太可能存储为MD5哈希,因为程序将永远无法恢复它们。你是如何得出这个结论的?或者你不是指暗示而是指“答案”?如果用户必须输入完整答案,而程序只是检查答案是否正确,则可以使用哈希函数(例如MD5)。但是,如果您引用的是显示给用户的提示,则它们必须以不同的方式存储。@sinelaw提示的单词被加密为MD5哈希,而不是完整的短语。这仍然没有意义。此外,单个单词将无法恢复。提示不太可能存储为MD5哈希,因为程序将永远无法恢复它们。你是如何得出这个结论的?或者你不是指暗示而是指“答案”?如果用户必须输入完整答案,而程序只是检查答案是否正确,则可以使用哈希函数(例如MD5)。但是,如果您引用的是显示给用户的提示,则它们必须以不同的方式存储。@sinelaw提示的单词被加密为MD5哈希,而不是完整的短语。这仍然没有意义。此外,单个单词将无法恢复。请感觉fr