ユーザーがパスワードを変更できる簡単なフォームがあり、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
ますか?ここが問題だと思い始めているので、時間を無駄にしているのではないかと思い、仕方がないと感じています。フォームを次のページに送信してそこでチェックできることはわかっていますが、できればこの方法でチェックしたかったのです。