什么是K9加密算法

时间:2016-11-09 08:34:27

标签: javascript java php algorithm encryption

我听说过K9加密,但我不知道它是什么类型的加密以及它是如何工作的。我只是在一个站点中看到一个示例,但无法解码完整的逻辑。

加密: 8430727796730470662453

DECRYPTED:密码是移动的

算法使用数字关联,使用类似的东西:

0 => _space
1 => ’
2 => ABC
3 => DEF
4 => GHI
5 => JKL
6 => MNO
7 => PQRS
8 => TUV
9 => WXYZ

那么,完整的逻辑是什么?并且有人可以使用JAVA或Javascript或PHP提供加密代码。

编辑1:我的问题的根源是我必须解密此代码:8430727796730470662453,我加密某些东西。解密它的解决方案是了解K9加密,但我不这样做。

编辑2:如果是单向算法,他们是如何解决此问题的challenge

1 个答案:

答案 0 :(得分:2)

我说这不是加密算法,而是一种非常非常简单的哈希算法。

散列很容易。

  1. 从给定字符串中取一封信
  2. 确定该字母的编号
  3. 将该号码添加到输出
  4. 无法恢复原件,因为每个数字(除了0)至少有3个可能的字符。

    例如,上述示例的另一个可能的解密密码也是:UGE PAQRWOSE GR ONAGJF

    这也是这个算法的问题:与其他安全散列算法不同,它减少了为给定散列找到有效密码所需的尝试次数,因为许多不同的输入可以创建相同的输出,所以试图破解密码,你有更多机会击中正确的"哈希"即使实际密码错误。

    示例:而不是"密码是移动"也是" UGE PAQRWOSE GR ONAGJF"许多其他字母组合将被接受为正确的密码。

    所以虽然教孩子们讨论哈希可能会很好,但请不要使用这是一个真实世界的应用......

    没有真正的答案"解决您所关联的挑战。如果不是欺诈,任何导致给定号码的字母组合必须被视为有效的解决方案。当然"密码是移动"是其中一个

    如果没有附加信息,密码必须是有效的英语句子,这可以提供许多可能的解决方案。

    除非他们接受导致散列8430727796730470662453作为解决方案的任何字母组合,否则我无法认真对待该页面。