其实我正在创建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中转换密码。
答案 0 :(得分:16)
jQuery没有提供字符串的md5的方法。所以你需要使用一些外部脚本。有一个名为jQuery MD5的插件。它为您提供了许多实现md5的方法。其中很少是
创建(十六进制编码)给定字符串值的MD5哈希:
var md5 = $.md5('value');
创建(十六进制编码)给定字符串值和密钥的HMAC-MD5哈希:
var md5 = $.md5('value', 'key');
创建给定字符串值的原始MD5哈希:
var md5 = $.md5('value', null, true);
创建给定字符串值和密钥的原始HMAC-MD5哈希:
var md5 = $.md5('value', 'key', true);
这可能会做你想要的......请在这里查看代码段。 jQuery MD5
答案 1 :(得分: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);
答案 2 :(得分:4)
你需要额外的插件。
看看这个plugin
答案 3 :(得分:1)
通过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)."'");
答案 4 :(得分: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>
答案 5 :(得分: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);
});