我使用sha1 alogorithm来获取哈希密码,&将其存储在DB中。
我在aspx页面中尝试过以下
1。 的Login.aspx
function enc()
{
var x=document.getElementById("<%=txtPwd.ClientID %>").value;
var hash = CryptoJS.SHA1(x);
alert(hash);
alert(typeof hash);
return false;
}
Changepwd.aspx
function enc()
{
var confirmp=$("#txtConfrimPassword").val();
var hash = CryptoJS.SHA1(confirmp);
alert(hash);
document.getElementById("<%=txtConfrimPassword.ClientID%>").value = hash;
document.getElementById("<%=txtNewPassword.ClientID%>").value = hash;
return false;
}
2尝试过:var id2 = $ .sha1(String(id));替代也.. ..
但在这两种情况下,登录时更改的密码都不匹配。
观察:相同值的页面散列的值不同!
问题:如何从两个页面获得相同的值。或者我哪里出错了,我错过了什么吗? 请指导我。
编辑:
输出:值:abc1234
1次登录:c9b359951c09c5d04de4f852746671ab2b2d0994
2 changepwd:da39a3ee5e6b4b0d3255bfef95601890afd80709
答案 0 :(得分:0)
da39a3ee5e6b4b0d3255bfef95601890afd80709
是空字符串的SHA1哈希值。您的confirmp
变量根本不包含任何密码。您可以使用任何支持控制台的浏览器进行验证:
var confirmp=$("#txtConfrimPassword").val();
console.log(confirmp);
我的印象是你犯了一个简单的拼写错误:
txtConfrimPassword
^^^^^^^