用asp实现无组件生成验证码的方法2种(4)


End Sub
End Class

Dim mCode
Set mCode = New Com_GifCode_Class
Session("GetCode") = mCode.Create()
mCode.Output()
Set mCode = Nothing
%>

无组件生成验证码-BMP格式
复制代码 代码如下:

Call Com_CreatValidCode("ValidCode")

Sub Com_CreatValidCode(pSN)

     'Author: Layen
     'QQ: 84815733
     'E-mail: support@ssaw.net

 

     ' 禁止缓存
     Response.Expires = -9999 
     Response.AddHeader "Pragma","no-cache"
     Response.AddHeader "cache-ctrol","no-cache"
     Response.ContentType = "Image/BMP"

     Randomize

     Dim i, ii, iii

     Const cOdds = 8 ' 杂点出现的机率
     Const cAmount = 36 ' 文字数量
     Const cCode = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"

     ' 颜色的数据(字符,背景)
     Dim vColorData(1)
     vColorData(0) = ChrB(0) & ChrB(0) & ChrB(0)  ' 蓝0,绿0,红0(黑色)
     vColorData(1) = ChrB(250) & ChrB(236) & ChrB(211) ' 蓝250,绿236,红211(浅蓝色)

     ' 随机产生字符
     Dim vCode(4), vCodes
     For i = 0 To 3
           vCode(i) = Int(Rnd * cAmount)
           vCodes = vCodes & Mid(cCode, vCode(i) + 1, 1)
     Next

     Session(pSN) = vCodes  '记录入Session

     ' 字符的数据
     Dim vNumberData(35)
     vNumberData(0) = "1110000111110111101111011110111101001011110100101111
010010111101001011110111101111011110111110000111"
     vNumberData(1) = "1111011111110001111111110111111111011111111101111111
110111111111011111111101111111110111111100000111"
     vNumberData(2) = "1110000111110111101111011110111111111011111111011111

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/3155.html