2011-01-10 12 views
0

私たちは、ユーザーと分散アプリとdbテーブルを持っています。パスワードはハッシュ値として保存されます。アプリはwinサービス、winforms、aspとjavaプログラムで構成されています。 Java開発者の一人は、文字列(ハードコードされたキー付き)のmd5ハッシュを計算し、それ以外の場所で使用することを提供する関数を持っています(Javaコードをc#にインポートし、それはいいアイデアですか? あなたの提案は何でしょうか?そのような場合に人々は通常何をしていますか?分散アプリ、パスワードハッシュ

P.S. Oracleデータベースを使用します。

+0

11gエンタープライズなど) – APC

+0

Oracle 9.しかし、私はそれを計算する統一された方法があるかどうかを知りたいので、すべてのアプリケーションがそれを再利用します。 – Nickolodeon

+1

塩を加えることを忘れないでください。 http://en.wikipedia.org/wiki/Salt_%28cryptography%29 –

答えて

1

すべてのアプリにパスワードを渡すことができました格納されたハッシュに対して指定されたパスワードをチェックするストアドプロシージャをdb内に持っています。

標準のPL/SQL関数は、ハッシュを計算するためにあります:DBMS_OBFUSCATION_TOOLKIT.MD5は

あなたがここでこの方法のより完全な書き込みアップを見つけることができます:​​3210のOracle(9iの標準のバージョンとエディション

1

Md5暗号化されていないハッシュであるため、キーは実際にはありません。 Md5ハッシングはjavaとc#の両方に組み込まれています。

どのようなコードを書く必要がありますか?各実装言語では最大でも2行です...さらに、皆が同じ結果、大文字小文字の区別などを確認するためのテストがいくつかあります。

+0

彼はどの機能を使用しているのか分かりません(MD5ではないかもしれません)、私はハッシュを計算して手作りであることを知っています。 – Nickolodeon

+1

あなた自身のハッシュ関数(パスワード/ダイジェストの場合のように)を書いてはいけません。標準のものを使用してください。また、標準のものを使用している場合は、あなたの言語に既に組み込まれている実装を使用してください。 – time4tea