web-dev-qa-db-ja.com

jqueryでパスワードをmd5に変換する方法は?

実際に私はchangepasswordページを作成しています。これは、古いパスワードが既存のパスワードと一致するかどうかをチェックする私の機能です。そして、そのパスワードはデータベースのMD5に保存されているため、最初に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でパスワードを変換する方法です。

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

指定された文字列値の(16進数でエンコードされた)MD5ハッシュを作成します。

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

指定された文字列値とキーの(16進数でエンコードされた)HMAC-MD5ハッシュを作成します。

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

指定された文字列値の未加工のMD5ハッシュを作成します。

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

指定された文字列値とキーの生のHMAC-MD5ハッシュを作成します。

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

これはあなたが望むことをするかもしれません...ここでスニペットを確認してください。 jQuery MD5

17
Ayyappan Sekar

このプラグインをダウンロードして含める

<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);
8
Salim

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

これを見てください plugin

4
Dipesh Parmar
<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>
1
D Godhani

IDからフィールド値を取得し、ajaxで送信します

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

Db.phpファイルで変数名を取得します

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

フィドル: 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
Avin Varghese