2013-09-03 2 views
9

実際に私はchangepasswordページを作成しています。これは私の古いパスワードをチェックする機能であり、既存のパスワードと一致するかどうかです。そのパスワードはMD5にデータベースに保存されていますので、まずMD5でそのパスワードを変換した後、そのパスワードを確認できます。 ここにコードがあります。jqueryのパスワードをmd5に変換するには?

function fnIsValidOldPassword() 
{ 
var oldPassword = ""; 
var objUser = new Object(); 

objUser.UserID = <?php echo $_SESSION['UserId'] ?>; 
$.ajax({ 
    type: "POST", 
    url: "db.php?GetUser", 
    data: {data:objUser}, 
    async:false, 
    dataType:"json", 
    success: function(response) 
    { 
     if(response.IsError) 
      alert(response.ErrorMessage); 
     else 
      oldPassword = response.Records[0].Password; 
    }, 
    error:function(message) 
    { 
     alert("Error: " + message); 
    } 
}); 

if($.md5($("#txtOldPassword").val())) != oldPassword) 
     ^^ //here it shows error. that md5 is not a function. 
{ 
    $("#errorPassword")[0].innerHTML = "Wrong Old Password."; 
    $("#txtOldPassword").removeClass("successTextBox").addClass("errorTextBox"); 
    return false; 
} 

$("#txtOldPassword").removeClass("errorTextBox").addClass("successTextBox"); 
$("#errorPassword")[0].innerHTML = ""; 
return true; 
} 

md5はjqueryの関数ではなく、md5のパスワードの変換方法ではありません。

+3

は、あなたが使用することができ、この:http://stackoverflow.com/questions/1655769/fastest-md5-implementation-in-javascriptしかし、実際に塩漬けされたパスワードを使用する必要があります。 – mvp

+0

[crypto-js](https://code.google.com/p/crypto-js/#MD5) –

+0

のような暗号ライブラリを使用する必要があります。このリンクはhttp://www.myersdaily.org/josephを助けるかもしれません/javascript/md5-text.html。また、単にjsの代わりにphpでmd5を使用するのはなぜですか? – Class

答えて

11

jQueryのdoesntのを見て、文字列のMD5を提供するための方法を持っています。だから、いくつかの外部スクリプトを使う必要があります。 jQuery MD5というプラグインがあります。それはmd5を達成するためのメソッドの数を提供します。それらのいくつかは

ある(16進コード)指定された文字列値のMD5ハッシュ作成:

:(16進コード)指定された文字列値と鍵のHMAC-MD5ハッシュを作成

var md5 = $.md5('value'); 

var md5 = $.md5('value', null, true); 

与えられた文字列値の生のHMAC-MD5ハッシュを作成します。

var md5 = $.md5('value', 'key'); 

与えられた文字列値の生のMD5ハッシュを作成します。キー:

var md5 = $.md5('value', 'key', true); 

これは次のとおりです。スニペットをここで確認してください。 jQuery MD5

+0

@Ayyapan:暗号化されたmd5文字列を元の文字列に復号化する方法はありますか? – SSS

+0

@SSS:md5ハッシュ文字列から元の文字列を戻すことはできません! http://stackoverflow.com/questions/12287704/how-to-reverse-md5-to-get-the-original-string –

+0

md5解読を行うには? – KingRider

4

これには追加のプラグインが必要です。

このplugin

+0

しかし、その暗号化されたデータをjqueryで復号化する方法は? –

+0

ハッシングアルゴリズムです。ハッシュは片方向暗号化アルゴリズムです。それらを解読することはできません。 – Blueboye

1

は、IDを通じてフィールドの値を取得し、をdb.phpファイルでアヤックス

var field = $("#field").val(); 
$.ajax({ 
    type: "POST", 
    url: "db.php", 
    data: {variable_name:field}, 
    async:false, 
    dataType:"json", 
    success: function(response) { 
     alert(response); 
    } 
}); 

に送る変数名を取得

$variable_name = $_GET['variable_name']; 
mysql_query("SELECT password FROM table_name WHERE password='".md5($variable_name)."'"); 
8

ダウンロードし、このプラグイン

<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/md5.js"> 
が含まれます

と同様に使用

if(CryptoJS.MD5($("#txtOldPassword").val())) != oldPassword) { 

} 

//Following lines shows md5 value 
//var hash = CryptoJS.MD5("Message"); 
//alert(hash); 
1
<script src="http://crypto-js.googlecode.com/svn/tags/3.0.2/build/rollups/md5.js"></script> 
<script> 
    var passhash = CryptoJS.MD5(password).toString(); 

    $.post(
     'includes/login.php', 
     { user: username, pass: passhash }, 
     onLogin, 
     'json'); 
</script> 
0

フィドル:http://jsfiddle.net/33HMj/

のJs:

var md5 = function(value) { 
    return CryptoJS.MD5(value).toString(); 
} 

$("input").keyup(function() { 
    var value = $(this).val(), 
     hash = md5(value); 
    $(".test").html(hash); 
}); 
+0

更新:http://jsfiddle.net/KingRider/33HMj/785/ – KingRider

+0

これを使用js http://lig-membres.imag.fr/donsez/cours/exemplescourstechnoweb/js_securehash/md5src.html –

関連する問題