パスワードをmssqlデータベースに保存するアプリケーションがあります。これらのパスワードの生成に使用されるアルゴリズムを複製したいと思います。
私は、次に何を試みるべきかについて、私が少し迷っていることを認めなければなりません。
Str in => Output
0 = 0x81
00 = 0x81 0x95
000 = 0x81 0x95 0x83
001 = 0x81 0x95 0x82
002 = 0x81 0x95 0x81
100 = 0x80 0x95 0x83
900 = 0x88 0x95 0x83
ddddddddd = 0x55 0x41 0x57 0x5E 0x4E 0x48 0x4F 0x57 0x40
dddddddddd = 0x55 0x41 0x57 0x5E 0x4E 0x48 0x4F 0x57 0x40 0x42
出力で見つかった文字=>0x21から0x9A
xorを試しましたが、結果が得られませんでした。それぞれのキャラクターはどういうわけか前のものに依存しているに違いないと思いますが、それらをつなぐものは何も見つかりません。
これを理解しようとしているときに確認する必要があるプロセスまたは順序はありますか?誰かが私にヒントを与えるか、それを解決するための正しい方向に進んでください。どんな助けでも大歓迎です。
編集あなたの考えをテストするSeanAは正確であることが証明されているようです...
dddddddddd = 0x55 0x41 0x57 0x5E 0x4E 0x48 0x4F 0x57 0x40 0x42
ddddd0dddd = 0x55 0x41 0x57 0x5E 0x4E 0x9C 0x4F 0x57 0x40 0x42
dd0ddddddd = 0x55 0x41 0x83 0x5E 0x4E 0x48 0x4F 0x57 0x40 0x42
1234567890123456... 0x80 0x97 0x80 0x8E 0x9F 0x9A 0x9C 0x8B 0x9D 0x96 0x9A 0x98....
確かに、各文字には文字列内の位置に応じた値があるように見えます。パスワードのサイズに制限はありません。より多くの時間が経過すると、サンプルサイズを大幅に増やすことになりますが、関係を見つける可能性を高めるためにテストする必要のある特定の値はありますか?
編集2
提案されたように表(xls)を完成させました。http://www.filedropper.com/result_1からダウンロードできます 。 これは、入力と出力の違いを小数で表したものです。16進値として表示される入力と差の値の間には強いパターンがあります。各文字の場所には、チャートに続く非常に一貫したパターンがあります(その位置のすべての文字)。また、各位置の可能な範囲は、入力値の最上位桁の変化に合わせて、16個の値の各グループ全体で一貫しています。 16進数で表示されます。
ただし、表から、アルゴリズムと同じ結果でパスワードをエンコードできることがわかったので、私たちの理論は成り立つようです。
引き続きアルゴリズム自体を調査して見つけたいと思います。正しい方向を見つけるのに役立つポインタを本当に感謝しています。