我正在尝试对一个已经放弃的相当旧的应用程序做一些更新我已经在数据库中找到了一些管理员密码,它似乎是一个非常简单的哈希,但不是我以前遇到的任何东西。我可以更改用户通行证而不是管理员通行证,这样做我试图破译模式。
以下是一些例子
=>痛苦地
1234 => rebrmyrj
david@work => wbczyjwbxmftfredjmra
password => tfczyyttkjfefpej
lana@work => wyczpewyxtejeffwrc
abcdefghijklmnop => wecrpywjxzfrerearerbapmcwerzfmmc
qrstuvwxyz => tedryytjkzerfrfajejb
任何熟悉这个的人?
提前致谢
*编辑
根据Bjorn和Oscar的输入将哈希更改为加密
答案 0 :(得分: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'。
因此您只需要找到原始字符串,从中减去密码的字符。我想其余的应该是一项例行工作。
答案 1 :(得分:3)
这似乎是poly-alphabetic substitution cipher。输入中的每个字母总是映射到输出中的两个字母,但是 每个输入字母映射到的两个字母取决于它在字符串中的位置。
例如,请注意a
始终显示为we
,如果它是第一个字母,但a
映射到cz
,如果它是第二个字母,等等。
既然你选择了明文,那么打破它是微不足道的;只需对短语aaaaaaaaaaa...
,bbbbbbbbbbb...
,ccccccccccc...
等进行编码,以准确确定哪个字母映射到字符串中每个点的哪些字符(您可能还需要映射大写字母)信件:AAAAAAAAAA...
等。)。如果你开始看到重复,那就意味着这个密码很可能是Vigenère cipher。
答案 2 :(得分:2)
根据定义,哈希算法可以不被反转:是一个不可逆的函数。此外,虽然不太可能,但有些输入可能会散列到相同的值(碰撞)。