0

フォームが送信される前に、すべてのパスワード フィールドにパスワード ハッシュを適用しようとしています。これまでのところ、私が持っているのはこれです...

$("#loginform").submit(function(e) {
    e.preventDefault();
    $('input[type=password]').each(function(){
        console.log($.sha256($(this).val())) //Hash password
        //Set password back
    });
    return true;
});

...送信を傍受してパスワードをハッシュしますが、通常の方法を使用して入力ボックスの平文パスワードを置き換えることはできません。

非表示の入力などでこれを行う方法は知っていますが、これを既にかなり強固なログイン構造が整っているサイトに適用しているので、HTML の変更を最小限に抑えたいと考えています。

ありがとう :)

4

1 に答える 1

1

クライアント側のハッシュのポイントが、安全でない接続(HTTP)を介してパスワードを保護することである場合は、ソルトとランダムな「チャレンジ」を使用するようにしてください。

そのようです:

応答=sha256(チャレンジ+ sha265(ソルト+パスワード))

サーバーは、チャレンジ、ソルト、およびsha265(ソルト+パスワード)への回答を認識しているため、応答を検証できます。

レインボー攻撃を回避するにはソルト+パスワードが必要であり、リプレイ攻撃を防止するには応答/チャレンジが必要です。

より良いアプローチは、SSHを使用することです;)

于 2012-11-29T17:10:13.003 に答える