asp生成數(shù)字圖片驗(yàn)證碼

字號(hào):


    查看效果:asp生成數(shù)字圖片驗(yàn)證碼
    下載地址:asp生成數(shù)字圖片驗(yàn)證碼下載
    在這個(gè)代碼中,用到了兩個(gè)文件,一個(gè)是head.fix,body.Fix
    調(diào)用代碼:
    <img src=numbercode.asp onclick="javascript:change();" id="codeimg">
    <script language="javascript">
    function change(){
    document.getElementById("codeimg").src='numbercode.asp';
    }
    </script>
    圖片代碼:
    Option Explicit
    Response.buffer=true
    NumCode
    Function NumCode()
    Response.Expires = -1
    Response.AddHeader "Pragma","no-cache"
    Response.AddHeader "cache-ctrol","no-cache"
    dim zNum,i,j
    dim Ados,Ados1
    Randomize timer
    zNum = cint(8999*Rnd+1000)
    Session("GetCode") = zNum
    dim zimg(4),NStr
    NStr=cstr(zNum)
    For i=0 to 3
    zimg(i)=cint(mid(NStr,i+1,1))
    Next
    dim Pos
    set Ados=Server.CreateObject("Adodb.Stream")
    Ados.Mode=3
    Ados.Type=1
    Ados.Open
    set Ados1=Server.CreateObject("Adodb.Stream")
    Ados1.Mode=3
    Ados1.Type=1
    Ados1.Open
    Ados.LoadFromFile(Server.mappath("body.Fix"))
    Ados1.write Ados.read(1280)
    for i=0 to 3
    Ados.Position=(9-zimg(i))*320
    Ados1.Position=i*320
    Ados1.write ados.read(320)
    next 
    Ados.LoadFromFile(Server.mappath("head.fix"))
    Pos=lenb(Ados.read())
    Ados.Position=Pos
    for i=0 to 9 step 1
    for j=0 to 3
    Ados1.Position=i*32+j*320
    Ados.Position=Pos+30*j+i*120
    Ados.write ados1.read(30)
    next
    next
    Response.ContentType = "image/BMP"
    Ados.Position=0
    Response.BinaryWrite Ados.read()
    Ados.Close:set Ados=nothing
    Ados1.Close:set Ados1=nothing
    End Function