When we log in, let users enter a verification code. For this verification code, there are several ways, there is a direct number, that is too simple, and it is mapped to the corresponding picture, which is not good, I found a introduction on this area and decided to generate a picture by the program. The image is the verification code. There are two ways here, an other component, of course, is not a component. There is also a lot of introductions in this area. It is written here for convenience.
Firstly, the file is generated as validatePic.asp, the code is as follows: <% DIM A (10, 10) A (0, 1) = "0x3c" 'number 0 A (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"%> <% 'Open Cushion Response.buffer = True with response .Expires = -1 .addheader "pragma", "no-cache" .addheader "cache-ctrol", "no-cache" end withdim 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) = 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 nextimage = left (image, len (image) - 1) image = image & "}; & HC
Response.write Image%> The code is above, here is used here to digital images, here don't do more, want to learn more about yourself. When it is displayed, add img>.