gpt4 book ai didi

javascript表单检查和加密密码

转载 作者:行者123 更新时间:2023-11-29 15:43:39 26 4
gpt4 key购买 nike

我有一个简单的表单,用户可以在其中更改他们的密码,我正在使用 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 中吗?当我开始认为这是问题所在时,我想知道我是否在浪费我的时间并且觉得没有办法这样做。我知道我可以将表格提交到下一页并在那里进行检查,但如果可以的话,我真的很想这样做。

最佳答案

您不能直接从 JavaScript 调用 ASP(或任何其他服务器端语言的)函数。也就是说,有一种广泛使用的技术称为 AJAX,它允许您对服务器端应用程序执行异步 JavaScript 请求。它们被称为异步,因为您不提交/重新加载整个页面,而是执行一段调用服务器端功能并返回结果的 JavaScript,从而让您无需重新加载页面即可更新页面。

在您的情况下,您希望实现一个 AJAX 请求,询问您是否已使用用户输入的特定密码,服务器将简单地返回一个 bool 值,您将在 JavaScript 端对其进行评估并相应地更新您的页面。

我非常确定有大量关于如何使用 AJAX 请求和 ASP(我不熟悉)的教程和解释,提供这样的解释肯定超出了这里可以提供的范围。请咨询谷歌:)

关于javascript表单检查和加密密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15178271/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com