我正在研究一个具有我以前从未见过的密码加扰算法的应用程序。我生成了几个密码(允许的最大长度为 8 个字符),得到以下结果:
password: 0 0 0 0 0 0 0 3
scrambled: W1 U6 W1 U6 W1 U6 W1 X2
password: 0 0 0 0 0 0 0 2
scrambled: W1 U6 W1 U6 W1 U6 W1 M7
password: 0 0 0 0 0 0 0 1
scrambled: W1 U6 W1 U6 W1 U6 W1 F2
password: 0 0 0 0 0 0 0 0
scrambled: W1 U6 W1 U6 W1 U6 W1 U6
password: 1 2 3 4 5 6 7 8
scrambled: H9 G6 B5 G3 F8 Q7 X8 O9
加扰显然是可逆的。我在想更糟的是我可以生成一个字典映射,但我认为会有一种更聪明的方法来解决这个问题。
有没有人遇到过这样的事情?
更新
更多价值并指出:
0行为与其他角色完全不同@也值得注意(在每个位置都保持不变)- 算法不能或不会处理少于 3 个字符的密码
4 4 4 4 4 4 4 4 A2 S5 K9 G3 Y6 U0 M4 E8 3 3 3 3 3 3 3 3 L4 Z5 B5 R1 R5 F7 H6 X2 2 2 2 2 2 2 2 2 W6 G6 S0 C0 K4 U3 C8 M7 1 1 1 1 1 1 1 1 H9 N6 F6 J8 D3 J0 B0 F2 1 0 0 0 0 0 0 3 H9 U6 W1 U6 W1 U6 W1 X2 a b a b a b a b H1 E3 B8 W6 Z4 S0 X1 K4 b b b b b b b b S8 E3 O2 W6 G6 S0 C0 K4 a a a a a a a a H1 L3 B8 H5 Z4 D7 X1 Z8 A B C N6 C0 L0 B B B B B B B B M7 Y1 I1 Q5 A5 I9 S8 E3 A B A B A B A B B0 Y1 V6 Q5 T3 I9 R0 E3 A A A A A A A A B0 F2 V6 B4 T3 X5 R0 T7 A A A A A A A J0 B0 F2 V6 B4 T3 X5 A A A A A A D3 J0 B0 F2 V6 B4 A A A A A J8 D3 J0 B0 F2 A A A A F6 J8 D3 J0 A A A N6 F6 J8 @ @ @ @ M2 M2 M2 M2 # # # # P2 B9 F3 T4 * * * * A9 A1 U7 Q9 ! ! ! ! Z4 D7 X1 Z8
使用蛮力方法解扰这些密码的一般规则:
在长度为 L 的字符串中,位置 N 处的给定字符将始终具有相同的值。
IE:在 8 个字符长的密码中,如果第一个字符是 A,它将始终以相同的方式编码。
注意:我已经想出了解密这些密码的“蛮力”方法,但我很想知道用于加密密码的算法。如果有人有扭转这类事情的经验,我会喜欢一些关于如何从这里开始的提示。