ASP generated XBM map can be used as verification code

xiaoxiao2021-03-06  69

This program is mainly a random number, and then according to the generated random number as the content of the XBM picture, finally displays this picture. Verify that the input numbers and session ("validatecode") compare, if equally Through verification (also pay attention to the type of two data compared).

How to display the generated picture?

About the format information of the XBM map, see here

Http://www.zdnet.com.cn/developer/tech/story/0,2000081602,39134972,00.htm

Xbm.asp code is as follows

code:

<%

'Open the buffer

Response.buffer = TRUE

With response

EXPIRES = -1

.Addicheader "pragma", "no-cache"

.Addicheader "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

%>

The code of Numcode.asp is as follows:

code:

<%

DIM A (10, 10)

A (0, 1) = "0x3c" 'Digital 0A (0, 2) = "0x66"

A (0, 3) = "0xc3"

A (0, 4) = "0xc3"

A (0, 5) = "0xc3"

A (0, 6) = "0xc3"

A (0, 7) = "0xc3"

A (0, 8) = "0xc3"

A (0, 9) = "0x66"

A (0, 10) = "0x3c"

A (1, 1) = "0x18" number 1

A (1, 2) = "0x1c"

A (1,3) = "0x18"

A (1,4) = "0x18"

A (1,5) = "0x18"

A (1,6) = "0x18"

A (1,7) = "0x18"

A (1, 8) = "0x18"

A (1,9) = "0x18"

A (0, 10) = "0x7e"

A (2, 1) = "0x3c" 'number 2

A (2, 2) = "0x66"

A (2, 3) = "0x60"

A (2, 4) = "0x60"

A (2,5) = "0x30"

A (2,6) = "0x18"

A (2, 7) = "0x0c"

A (2, 8) = "0x06"

A (2, 9) = "0x06"

A (2, 10) = "0x7e"

A (3, 1) = "0x3c" 'number 3

A (3, 2) = "0x66"

A (3, 3) = "0xc0"

A (3, 4) = "0x60"

A (3, 5) = "0x1c"

A (3, 6) = "0x60"

A (3, 7) = "0xc0"

A (3, 8) = "0xc0"

A (3, 9) = "0x66"

A (3, 10) = "0x38"

A (4, 1) = "0x38" 'number 4

A (4, 2) = "0x3c"

A (4, 3) = "0x36"

A (4, 4) = "0x33"

A (4, 5) = "0x33"

A (4, 6) = "0x33"

A (4, 7) = "0xff"

A (4, 8) = "0x30"

A (4, 9) = "0x30"

A (4, 10) = "0xfe"

A (5, 1) = "0xfe" 'number 5

A (5, 2) = "0xfe"

A (5, 3) = "0x06"

A (5, 4) = "0x06"

A (5, 5) = "0x3e"

A (5, 6) = "0x60"

A (5, 7) = "0xc0"

A (5, 8) = "0xc3"

A (5, 9) = "0x66" a (5, 10) = "0x3c"

A (6, 1) = "0x60" 'number 6

A (6, 2) = "0x30"

A (6, 3) = "0x18"

A (6, 4) = "0x0c"

A (6,5) = "0x3e"

A (6, 6) = "0x63"

A (6, 7) = "0xc3"

A (6, 8) = "0xc3"

a (6,9) = "0x66"

A (6, 10) = "0x3c"

A (7, 1) = "0xff" 'number 7

A (7, 2) = "0xc0"

A (7, 3) = "0x60"

A (7, 4) = "0x30"

A (7,5) = "0x18"

A (7, 6) = "0x18"

A (7, 7) = "0x18"

A (7, 8) = "0x18"

A (7, 9) = "0x18"

A (7, 10) = "0x18"

A (8, 1) = "0x3c" 'number 8

A (8, 2) = "0x66"

A (8, 3) = "0xc3"

A (8, 4) = "0x66"

A (8, 5) = "0x3c"

A (8, 6) = "0x66"

A (8, 7) = "0xc3"

A (8, 8) = "0xc3"

A (8, 9) = "0x66"

A (8, 10) = "0x3c"

A (9, 1) = "0x3c" 'number 9

A (9, 2) = "0x66"

A (9, 3) = "0xc3"

A (9, 4) = "0xc3"

A (9, 5) = "0x66"

A (9, 6) = "0x3c"

A (9, 7) = "0x18"

A (9, 8) = "0x0c"

A (9, 9) = "0x06"

A (9, 10) = "0x03"

%>

转载请注明原文地址:https://www.9cbs.com/read-84516.html

New Post(0)