2013-09-03 9 views
9

Attualmente sto creando una pagina di passaparola. e questa è la mia funzione di controllare che la vecchia password corrisponda alla password esistente o meno. E quella password è memorizzata in MD5 nel database, quindi voglio prima convertire quella password in MD5 e dopo posso controllare quella password. Ecco il codice.Come convertire la password in md5 in jquery?

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 non è una funzione in jquery, quindi come convertire la password in md5.

+3

È possibile utilizzare questo: http://stackoverflow.com/questions/1655769/fastest-md5-implementation-in-javascript Ma fai attenzione: dovresti davvero usare password salate! – mvp

+0

è necessario utilizzare una libreria crittografica come [crypto-js] (https://code.google.com/p/crypto-js/#MD5) –

+0

questo link potrebbe aiutare http://www.myersdaily.org/joseph /javascript/md5-text.html. Inoltre, perché non usare semplicemente md5 con php invece di js. – Class

risposta

11

jQuery pretende molto avere un metodo per fornire l'md5 di una stringa. Quindi è necessario utilizzare alcuni script esterni. C'è un plugin chiamato jQuery MD5. e ti dà il numero di metodi per raggiungere md5. Pochi di coloro che sono

Crea (hex-encoded) MD5 hash di un dato valore di stringa:

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

Crea (hex-encoded) HMAC-MD5 hash di un dato valore di stringa e la chiave:

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

Crea grezzo hash MD5 di un dato valore di stringa:

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

Crea prime HMAC-MD5 hash di un dato valore di stringa e chiave:

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

Questo potrebbe fare ciò che vuoi ... Controlla lo snippet qui. jQuery MD5

+0

@Ayyapan: esiste un modo per decodificare la stringa crittografata con md5 nella stringa originale? – SSS

+0

@SSS: non è possibile ottenere la stringa originale da una stringa hash md5! http://stackoverflow.com/questions/12287704/how-to-reverse-md5-to-get-the-original-string –

+0

Come rendere md5 decrypt? – KingRider

4

Per questo è necessario un plug-in aggiuntivo.

dare un'occhiata a questo plugin

+0

Ma come decodificare i dati crittografati in jquery? –

+0

È un algoritmo di hashing. Gli hash sono algoritmi di crittografia a senso unico. Non puoi decrittografarli. – Blueboye

1

Ottenere il valore del campo attraverso l'ID e lo invia con ajax

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

Al file di db.php ottenere il nome della variabile

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

Scarica e comprendono questo plugin

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

e utilizzare come

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

Fiddle: 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

Utilizzare questo js http://lig-membres.imag.fr/donsez/cours/exemplescourstechnoweb/js_securehash/md5src.html –