我有一个简单的表单,用户可以在其中更改密码,并且我正在使用一个onsubmit
事件来检查通常可以正常工作的表单,除非我尝试使用已经在使用的密码来阻止他们。
密码存储在数据库中并被加密。我需要做的是将加密密码与尚未加密的新密码进行比较。我使用的加密是:
<%
Function encrypt(x1, x2)
s = ""
t = 0
For i = 1 to len(x1)
t = t + asc(mid(x1,i,1))
Next
For i = 1 to len(x2)
y = (t + asc(mid(x2,i,1)) * asc(mid(x2,((i+1) mod len(x2)+1),1))) mod 255
s = s & chr(y)
Next
For i = (len(x2) + 1) to 10
If t>598.8 Then t = 598.8
y = t^3*i mod 255
s = s & chr(y)
Next
encrypt = s
End Function
%>
我运行encrypt(Username,Password)
它给了我一个像¬{±ÝÆÝl
onsubmit
我正在使用的代码是
function checkData (){
if (document.signup.password1.value != document.signup.password2.value) {
alert("Your passwords do not match.")
document.signup.password1.focus()
return false
}
if (document.signup.password1.value == "") {
alert("Please enter a password.")
document.signup.password1.focus()
return false
}
}
这一切都很好,我只是坚持最后一点,即旧密码检查。我尝试过各种各样的事情,比如
if (encrypt(document.signup.password1.value,emailaddress) == "value from database"){
alert("The password chosen is already in use.")
document.signup.password1.focus()
return false
}
我的主要问题是:我可以将 ASP 函数加密调用到我的 javascript 中checkData
吗?当我开始认为这就是问题所在时,我想知道我是否在浪费时间并觉得没有办法做到这一点。我知道我可以将表格提交到下一页并在那里进行检查,但如果可以的话,我真的很想这样做。