2011-08-09 4 views
1

iSeries上の古いソフトウェア・システムに新しい.NET UIが適用されているプロジェクトを支援しています。それはうまくいっている... ...iSeries(AS/400)データベース・ファイル:パスワード暗号化

ユーザーがログインして既存のソフトウェアインストールとの互換性を維持できるようにするには、以前のベンダーがソースにアクセスしなくてどの暗号化/ハッシュ方式を使用していたのか把握する必要がありますコード。

IDとパスワードの列を持つファイルがあります。パスワードの列には、1レコードにつき16文字しか含まれていないように見えます。

以前のベンダーシステムの一部は、400のネイティブグリーン画面で書かれており、その一部はMicrosoft ASP.Netで書かれていました。

暗号化またはハッシュのどのようなタイプは次のようになります。AS/400またはiSeriesグリーンスクリーンアプリで使用される

  1. 、およびMicrosoft .NETアプリケーションで使用される
  2. 、および
  3. 出力入力の長さに関係なく、一貫した16バイナリバイト

ポインタが大いに感謝しています。ありがとう!

答えて

2

iには多くの組み込み暗号化方式と第三者暗号化方式があります。ベンダーがアプリケーションで使用するAPIを見つけたり、直接問い合わせたりするのが最善の方法です。うまく設計されたアプリケーションでは、そのログインコードが1つの場所にあります。

ノート:私は、あなたがエッフェル塔を2インチ左に動かすよう求めていることを知っていることを知っているだけの十分なベンダーを扱っています。

2

最初のコール・ポートは、古いシステムのシステム・マニュアルです。その後、サプライヤーに連絡して、サポートのために支払ったと仮定して(サポートしていませんでしたか?)、テクニカルサポートの担当者に質問に答えてください。

それがどこにも得られない場合は、掘り出しを開始する必要があります。 16文字は128ビットなので、おそらく何かの128ビットのハッシュがあります。おそらく元のコードが1991年から1996年の日付である場合は特にMD5でしょう。

次に、ハッシュする前にパスワードに塩を追加するかどうかを決定する必要があります。異なるユーザー名と同じパスワードを使用して、古いシステムに2つの新しいユーザーアカウントを作成します。 「user1/password」と「user2/password」と言ってください。パスワードファイルを見て、2つの新しいエントリを探します。 2つのハッシュが同じであれば、塩は使用されておらず、おそらくパスワードの単純なハッシュがあります。

user1password
user1の
passworduser1:パスワード
パスワード:その後、ユーザー名とパスワードのシンプルな組み合わせのMD5ハッシュを開始されない場合user1の
など

その後、あなたが持っているこれらの作品の1つがそれを解決しました。そうでなければ、レインボーテーブルとあらゆる種類の他の暗号解読物を構築するのに非常に長い時間を費やすつもりです。

ネットワークスニファをネットワーク上に置いて古いシステムにぶつけさせる方が簡単なので、ユーザーのパスワードをハッシュする前に読むことができます。さらに確実に、パスワードを記録する前に、「あなたは正しくログインしました」というメッセージを逆にチェックしてください。間違ったタイミングで間違って入力することがあります。