0

現在、Web/デスクトップ アプリケーションを構築しています。ユーザーはオンラインでアカウントを作成し、オンラインまたはデスクトップ クライアント経由でログインできます。クライアントは Python でビルドされ、exe にエクスポートされます。

サイトには https 接続がないため、オンラインで送信する前にパスワードを暗号化したい。

ハッシュ化されたパスワードがpythonとphpで同じになるようにこれを行う最良の方法は何ですか? それとも、より良い方法ですか、それともhttpsに投資する必要がありますか?

単純なハッシュを使用してみましたが、phpmd5("Hello")は python とは異なるものを返しますhashlib.md5("Hello").hexdigest()

4

2 に答える 2

9

この考えは忘れてください。クライアントでパスワードをハッシュし、そのハッシュをサーバーに送信してから保存されたハッシュと比較することは、ハッシュがパスワードになるため、データベースにプレーンなパスワードを保存することと同じです。

それともhttpsに投資するべきですか?

はい!

于 2013-02-10T16:33:35.693 に答える
0

これを再現するコード例と、2 つの異なる出力を共有できますか?

それらは同じ出力を作成する必要があり、実際に作成します。

また、HTTPS を使用するか、チャレンジ レスポンス メカニズムを使用する必要があります (これは、多くのメール サーバーが使用する例です: http://en.wikipedia.org/wiki/CRAM-MD5 ) 。

パスワードを暗号化してもセキュリティ効果はありません。だれでもパスワードを傍受して再利用できます。パスワードは秘密のままですが、誰でも知っているかのようにログインできます。

于 2013-02-10T16:36:33.313 に答える