パスワードは通常のHTTPで安全に伝送されます。
1162 ワード
1です。理論
一般的なHTTPでは、フォームのパスワードはすべて平文でサーバに伝えて処理されます。これは間違いなく悪い人にチャンスを与えました。ここではパスワードをどうやって送るかについて話します。
パスワード自体を送信するよりも、暗号化された形式を送信します。MD 5はいい選択です。第一に、同じMD 5ダイジェストを生成することは、異なるリソースではほとんど不可能であり、第二に、MD 5の符号化方式は、可逆的に推されない。これらの特性があれば、MD 5のダイジェストを公開してインターネット上で転送することができます。パスワードが悪い人に知られることを心配する必要はありません。そして、サーバーでもパスワードを同じ方法で暗号化し、最後にこの2つの文字列を比較します。
しかし、ログインのためにパスワードmd 5を直接インターネットで転送することはできません。悪い人は私達のパスワードを知らないですが、この特殊な文字列は彼らに私達のウェブサイトを訪問するように許可することができます。
これは公のスプーンと私のスプーンの解決する問題で、まずサーバーからランダムな文字列を提供して、それからクライアントはこのランダムな文字列とパスワードを足してから暗号化します。
ログインするたびに、サーバからランダムな文字列が発生します。このようにパスワードは変わりませんが、上記の方法で暗号化されたMD 5の要約は全く違います。これはたとえ悪人がこれらのMD 5ダイジェストを得たとしても、彼らはあなたのパスワードを解析することができません。
この方法では、サーバーが提供するランダム文字列を「公匙」といい、寿命が短いので、誰でも利用できます。あなたのパスワードは「私匙」といいます。寿命が長く、誰にも分かりません。
2です。実現する
クライアントJavascriptは既存のmd 5アルゴリズムを提供していませんが、ここでは google 用を便じる "md 5 javascript" 検索すると、多くのmd 5がJavascriptで実現される例が得られます。
PHPの中では言うまでもなく、直接md 5()という関数で解決できます。ランダム文字列はsessionで保存できます。(PHPは強いです。~)
3です。注意
JSでは、中国語はUTF-8形式ですので、もしあなたのパスワードが中国語であり、そしてサーバーに格納されているパスワードの符号化方式はGB 2312です。二つの暗号化された文字列は全く違います。
一般的なHTTPでは、フォームのパスワードはすべて平文でサーバに伝えて処理されます。これは間違いなく悪い人にチャンスを与えました。ここではパスワードをどうやって送るかについて話します。
パスワード自体を送信するよりも、暗号化された形式を送信します。MD 5はいい選択です。第一に、同じMD 5ダイジェストを生成することは、異なるリソースではほとんど不可能であり、第二に、MD 5の符号化方式は、可逆的に推されない。これらの特性があれば、MD 5のダイジェストを公開してインターネット上で転送することができます。パスワードが悪い人に知られることを心配する必要はありません。そして、サーバーでもパスワードを同じ方法で暗号化し、最後にこの2つの文字列を比較します。
しかし、ログインのためにパスワードmd 5を直接インターネットで転送することはできません。悪い人は私達のパスワードを知らないですが、この特殊な文字列は彼らに私達のウェブサイトを訪問するように許可することができます。
これは公のスプーンと私のスプーンの解決する問題で、まずサーバーからランダムな文字列を提供して、それからクライアントはこのランダムな文字列とパスワードを足してから暗号化します。
ログインするたびに、サーバからランダムな文字列が発生します。このようにパスワードは変わりませんが、上記の方法で暗号化されたMD 5の要約は全く違います。これはたとえ悪人がこれらのMD 5ダイジェストを得たとしても、彼らはあなたのパスワードを解析することができません。
この方法では、サーバーが提供するランダム文字列を「公匙」といい、寿命が短いので、誰でも利用できます。あなたのパスワードは「私匙」といいます。寿命が長く、誰にも分かりません。
2です。実現する
クライアントJavascriptは既存のmd 5アルゴリズムを提供していませんが、ここでは google 用を便じる "md 5 javascript" 検索すると、多くのmd 5がJavascriptで実現される例が得られます。
PHPの中では言うまでもなく、直接md 5()という関数で解決できます。ランダム文字列はsessionで保存できます。(PHPは強いです。~)
3です。注意
JSでは、中国語はUTF-8形式ですので、もしあなたのパスワードが中国語であり、そしてサーバーに格納されているパスワードの符号化方式はGB 2312です。二つの暗号化された文字列は全く違います。