asp下的一个很简单的验证码程序第1/3页_ASP教程-查字典教程网
asp下的一个很简单的验证码程序第1/3页
asp下的一个很简单的验证码程序第1/3页
发布时间:2016-12-29 来源:查字典编辑
摘要:主程序共三个我的调用方式验证方式iftrim(Loginnum)trim(session("Loginnum"))thenResponse....

主程序共三个

我的调用方式<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

当前1/3页123下一页阅读全文

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新ASP教程学习
    热门ASP教程学习
    编程开发子分类