1

ユーザーがパスワードを入力してログインするプログラムがあります。パスワードは、ユーザーと呼ばれる SQL 2000 データベース テーブル内に保存されます。

問題は、SQL Query Analyzer または Enterprise Manager を持っている人なら誰でも、これらのパスワードを非常に簡単に読み取ることができることです。

プログラムで各ユーザーのパスワードから GUID を作成し、その GUID を SQL テーブルに格納し、ユーザー パスワード入力を検証するときに、関連する GUID を分解し、元の文字列値を取得してユーザー入力と一致させたいと考えています。

これが可能かどうかはわかりませんが、何人かの IT スペシャリストがこの件について話しているのを聞いたことがありますが、彼らはあなたが助けを求めるようなタイプではありませんでした。

4

3 に答える 3

3

おそらく、ここで車輪を再発明しようとしているのでしょう。多くの標準的なパスワード ハッシュソリューションがあります。

于 2012-11-08T14:33:44.157 に答える
2

データベースに保存するときにパスワードを暗号化してから、検証のために暗号化されたパスワードを復号化する必要があると思います。

また、ハッシュを使用することもできます。これを確認してください:ソルトパスワードハッシュ - 正しく行う

ところで:

ハッシュは一方向関数です。 ハッシュから元のデータを導出することはできません

暗号化の場合、暗号されたデータから元のデータを復元できます

参照:

TripleDESCryptoServiceProvider クラスを使用した .NET の暗号化/復号化機能

c# で Asp.Net を使用してパスワードを暗号化または復号化する方法

于 2012-11-08T14:24:17.650 に答える
0

Hash() メソッドを使用すると思いますが、リンク U で提供されている http://crackstation.net/hashing-security.htmから多くのことを学び ました。ありがとうございます。

于 2012-11-09T14:45:12.763 に答える