asp下的一个很简单的验证码程序第1/3页

时间:2021-05-28

主程序共三个

我的调用方式<scriptlanguage="javascript"src="/verify/num.asp"></script>
验证方式iftrim(Loginnum)<>trim(session("Loginnum"))then
Response.WriteError("验证码错误!")
Response.End
endif


num.asp

<%
'###Toencrypt/decryptincludethiscodeinyourpage
'###strMyEncryptedString=EncryptString(strString)
'###strMyDecryptedString=DeCryptString(strMyEncryptedString)
'###Youarefreetousethiscodeaslongascreditsremaininplace
'###alsoifyouimprovethiscodeletmeknow.

PrivateFunctionEncryptString(strString)
'####################################################################
'###CryptFunction?2001bySlavicKozyukgrindkore@yahoo.com###
'###Arguments:strString<---Stringyouwishtoencrypt###
'###Output:EncryptedHEXstring###
'####################################################################

DimCharHexSet,intStringLen,strTemp,strRAW,I,intKey,intOffSet
RandomizeTimer

intKey=Round((RND*1000000)+1000000)'#####KeyBitsize
intOffSet=Round((RND*1000000)+1000000)'#####KeyOffSetBitsize

IfIsNull(strString)=FalseThen
strRAW=strString
intStringLen=Len(strRAW)

Fori=0tointStringLen-1
strTemp=Left(strRAW,1)
strRAW=Right(strRAW,Len(strRAW)-1)
CharHexSet=CharHexSet&Hex(Asc(strTemp)*intKey)&Hex(intKey)
Next

EncryptString=CharHexSet&"|"&Hex(intOffSet+intKey)&"|"&Hex(intOffSet)
Else
EncryptString=""
EndIf
EndFunction



PrivateFunctionDeCryptString(strCryptString)
'####################################################################
'###CryptFunction?2001bySlavicKozyukgrindkore@yahoo.com###
'###Arguments:EncryptedHEXstringt###
'###Output:DecryptedASCIIstring###
'####################################################################
'###NotethisfunctionusesHexConv()andget_hxno()functions###
'###somakesuretheyarenotremoved###
'####################################################################

DimstrRAW,arHexCharSet,I,intKey,intOffSet,strRawKey,strHexCrypData


strRawKey=Right(strCryptString,Len(strCryptString)-InStr(strCryptString,"|"))
intOffSet=Right(strRawKey,Len(strRawKey)-InStr(strRawKey,"|"))
intKey=HexConv(Left(strRawKey,InStr(strRawKey,"|")-1))-HexConv(intOffSet)
strHexCrypData=Left(strCryptString,Len(strCryptString)-(Len(strRawKey)+1))


arHexCharSet=Split(strHexCrypData,Hex(intKey))

Fori=0toUbound(arHexCharSet)
strRAW=strRAW&Chr(HexConv(arHexCharSet(i))/intKey)
Next

DeCryptString=strRAW
EndFunction


PrivateFunctionHexConv(hexVar)
Dimhxx,hxx_var,multiply
IFhexVar<>""THEN
hexVar=UCASE(hexVar)
hexVar=StrReverse(hexVar)
DIMhx()
REDIMhx(LEN(hexVar))
hxx=0
hxx_var=0
FORhxx=1TOLEN(hexVar)
IFmultiply=""THENmultiply=1
hx(hxx)=mid(hexVar,hxx,1)
hxx_var=(get_hxno(hx(hxx))*multiply)+hxx_var
multiply=(multiply*16)
NEXT
hexVar=hxx_var
HexConv=hexVar
ENDIF
EndFunction

PrivateFunctionget_hxno(ghx)
Ifghx="A"Then
ghx=10
ElseIfghx="B"Then
ghx=11
ElseIfghx="C"Then
ghx=12
ElseIfghx="D"Then
ghx=13
ElseIfghx="E"Then
ghx=14
ElseIfghx="F"Then
ghx=15
EndIf
get_hxno=ghx
EndFunction

randomize
num=int(7999*rnd+2000)'计数器的值
num2=EncryptString(num)
session("Loginnum")=num
%>
document.write("<imgsrc='/verify/count.asp?sksid=<%=num2%>'>")'这里是调用图片的路径

count.asp
123下一页阅读全文

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章