這個(gè)程序主要是先生成一個(gè)隨機(jī)數(shù),然后根據(jù)生成的隨機(jī)數(shù)經(jīng)過變換后作為XBM圖片的內(nèi)容,最后顯示這個(gè)圖片. 驗(yàn)證時(shí)中要獲取輸入的數(shù)字和Session("validatecode")比較,如果相等則通過驗(yàn)證(還要注意一下相比較的兩數(shù)據(jù)的類型保持一致)。
如何顯示生成的圖片呢?
關(guān)于XBM圖的格式信息,看這里
http://www.zdnet.com.cn/developer/tech/story/0,2000081602,39134972,00.htm
xbm.asp的代碼如下
程序代碼:
<%
'開啟緩沖
Response.Buffer = True
With Response
.Expires = -1
.AddHeader "Pragma","no-cache"
.AddHeader "cache-ctrol","no-cache"
End With
Dim num
Randomize
num = Int(7999 * Rnd + 2000)
Session("validateCode") = num
Dim Image
Dim Width, Height
Dim digtal
Dim Length
Dim sort
Dim hc
Length = 4
hc = chr(13) & chr(10)
Redim sort(Length)
digital = ""
For I = 1 To Length - Len(num)
digital = digital & "0"
Next
For I = 1 To Len(num)
digital = digital & Mid(num, I, 1)
Next
For I = 1 To Len(digital)
sort(I) = Mid(digital, I, 1)
Next
Width = 8 * Len(digital)
Height = 10
Response.ContentType = "image/x-xbitmap"
Image = "#define counter_width " & Width & hc
Image = Image & "#define counter_height " & Height & hc
Image = Image & "static unsigned char counter_bits[] = {" & hc
For I = 1 To Height
For J = 1 To Length
Image = Image & a(sort(J),I) & ","
Next
Next
Image = Left(Image, Len(Image) - 1)
Image = Image & "};" & hc
Response.Write Image
%>
如何顯示生成的圖片呢?
關(guān)于XBM圖的格式信息,看這里
http://www.zdnet.com.cn/developer/tech/story/0,2000081602,39134972,00.htm
xbm.asp的代碼如下
程序代碼:
<%
'開啟緩沖
Response.Buffer = True
With Response
.Expires = -1
.AddHeader "Pragma","no-cache"
.AddHeader "cache-ctrol","no-cache"
End With
Dim num
Randomize
num = Int(7999 * Rnd + 2000)
Session("validateCode") = num
Dim Image
Dim Width, Height
Dim digtal
Dim Length
Dim sort
Dim hc
Length = 4
hc = chr(13) & chr(10)
Redim sort(Length)
digital = ""
For I = 1 To Length - Len(num)
digital = digital & "0"
Next
For I = 1 To Len(num)
digital = digital & Mid(num, I, 1)
Next
For I = 1 To Len(digital)
sort(I) = Mid(digital, I, 1)
Next
Width = 8 * Len(digital)
Height = 10
Response.ContentType = "image/x-xbitmap"
Image = "#define counter_width " & Width & hc
Image = Image & "#define counter_height " & Height & hc
Image = Image & "static unsigned char counter_bits[] = {" & hc
For I = 1 To Height
For J = 1 To Length
Image = Image & a(sort(J),I) & ","
Next
Next
Image = Left(Image, Len(Image) - 1)
Image = Image & "};" & hc
Response.Write Image
%>