1

我正在尝试对一个已被废弃的相当旧的应用程序进行一些更新我在数据库中找到了一些管理员密码,它似乎是一个非常简单的哈希值,但我之前没有遇到过任何问题。我可以更改用户通行证而不是管理员通行证,这样做我试图破译模式。

这里有些例子

=> 哈希到

1234 => rebrmyrj

david@work => wbczyjwbxmftfredjmra

password => tfczyyttkjfefpej

lana@work => wyczpewyxtejeffwrc

abcdefghijklmnop => wecrpywjxzfrerearerbapmcwerzfmmc

qrstuvwxyz => tedryytjkzerfrfajejb

有谁熟悉这个??

提前致谢

*编辑

将 Bjorn 和 Oscar 输入的哈希更改为加密

4

3 回答 3

3

看起来这是散列还是真正的加密。相同的字符将在相同的位置给出相同的两个字符输出:

char, pos = output
a   , 2   = cz
w   , 7   = fr
s   , 3   = yy

如果您查看相同位置的字符,您会注意到从某个起始值开始倒计时:

char, pos = output
a   , 1   = we
d   , 1   = wb

字符 'a' + 3 = 'd',结果是 'we' - 3 = 'wb'。

所以你只需要找到原始字符串,从中减去密码的字符。我认为其余的应该是例行工作。

于 2013-03-15T20:57:54.867 回答
3

这似乎是一个多字母替换密码。输入中的每个字母总是映射到输出中的两个字母,但每个输入字母究竟映射到哪两个字母取决于它在字符串中的位置。

例如,请注意,如果它是第一个字母,则a总是映射到we,但如果它是第二个字母,则a映射到cz,等等。

由于您选择了明文,因此这很容易破解;只需对短语aaaaaaaaaaa..., bbbbbbbbbbb...,ccccccccccc...等进行编码,以确定字符串中每个点上哪个字母映射到哪个字符(您可能还需要映射大写字母: AAAAAAAAAA...等)。如果您开始看到重复,则意味着该密码很可能是Vigenère 密码

于 2013-03-15T20:57:58.653 回答
2

根据定义,哈希算法是可逆的:是一个不可逆的函数。此外,虽然不太可能,但多个输入可能会散列到相同的值(冲突)。

于 2013-03-15T19:41:51.630 回答