[Original] No component Generate BMP Verification Code

xiaoxiao2021-03-06  45

Call COM_CREATVALIDCODE ("Validcode")

SUB COM_CREATVALIDCODE (PSN)

'Author: Layen

'QQ: 84815733

'E-mail: support@ssaw.net

'Prohibition of caching

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 'Miscellaneous Neighborhood

Const Camount = 36 'Text Number

Const ccode = "0123456789abcdefghijklmnopqrstuvwxyz"

'Color data (character, background)

DIM VCOLORDATA (1)

Vcolordata (0) = chrb (0) & chrb (0) & chrb (0) 'Blue 0, Green 0, Red 0 (black)

Vcolordata (1) = chrb (250) & chrb (236) & chrb (211) 'Blue 250, Green 236, Red 211 (light blue)

'Random generate characters

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' records Session

'Data of characters

DIM VNUMBERDATA (35)

Vnumberdata (0) = "1110000111110111101110111011011101001011101001011101110111011101110111111000111"

Vnumberdata (1) = "11110111111110111111111110111111101111111011101111111011111110111111111101111111111111100000111"

Vnumberdata (2) = "11100001111101110111011101110111011101110111011111011101110111011101111101110111000000011"

Vnumberdata (3) = "1110000111110111011101110111011101110111111011101110111011101110111011101110111011101110111011111100000111"

Vnumberdata (4) = "11111011111111101111111101110101011101110110111011101101101111111111111111111111000011"

vNumberData (5) = "1100000011110111111111011111111101000111110011101111111110111111111011110111101111011110111110000111" vNumberData (6) = "1111000111111011101111011111111101111111110100011111001110111101111011110111101111011110111110000111"

Vnumberdata (7) = "110000001111101110111110111011101110111011111011111110111111111011111111111111111111111111111111"

VNUMBERDATA (8) = "11100001111101110111011101110111011101110111011101110111011101110111011101110111011111100000111"

Vnumberdata (9) = "11100011111011101110111011101110111011101111101111111011101110111111101111"

Vnumberdata (10) = "1111011111111101110111010101111101010111010101111101110111011101110111011101110111011"

Vnumberdata (11) = "1000000111110111011101110111011101110111011101110111011101110111011101110111011101110000000111"

Vnumberdata (12) = "1110000011101110111011101110111011101110111011101110111011101110111011101110111011111101111"

Vnumberdata (13) = "100000111110111011101110111011101110111011101110111011101110111011101110111011101110111111011101110111011101111110111011101111"

VNUMBERDATA (14) = "100000011111011110111011101110111011101110110110111011101110111011101110000000111"

Vnumberdata (15) = "100000011111011110111011101110111011101110111011101110111011101110111011111111111111111111"

VNUMBERDATA (16) = "11100001111101110111011101110111011111011101110111011101110111011101111101111"

Vnumberdata (17) = "10001000111011101110111011101110111011101110111011101110111011101100011"

vNumberData (18) = "1100000111111101111111110111111111011111111101111111110111111111011111111101111111110111111100000111" vNumberData (19) = "1110000011111110111111111011111111101111111110111111111011111111101111111110111110111011111000011111"

VNUMBERDATA (20) = "1000100011110111011101110111011101110111011101110111011101110111011011"

Vnumberdata (21) = "100011111111101111111110111111101111111111101111101110111011101110111011110000000011"

Vnumberdata (22) = "100010011110010011001111010101011101010101010101011101010101010101010101010110011"

VNumberdata (23) = "1000100011110011011101110101010111010101011101110111010111011101110111101111"

Vnumberdata (24) = "1110001111101110111011101110111011101110111011101110111011101110111011101110111011101111"

Vnumberdata (25) = "10000001111101111011101110111011101110111011111011101111111111111111111111"

Vnumberdata (26) = "1110001111110111011101110111011101110111011101110111011101110111011101110111011"

Vnumberdata (27) = "10000011111101110111011101110111011101110111011101110111011101110111011101110110011"

Vnumberdata (28) = "111000001111011110111011101110111011110111101110111011101110111011101111011101110111011110111101111011110111101111011101110111011110111101111011110111101111011110111101111011110111101111011110111101111011110111101111011110111101111011110111101111011110111101111011110111101111011101111011110111101111101111011110111101111011110111101111011110111101111011110111101111011)

Vnumberdata (29) = "1000000011101101101110111011101110111111111011101111101111111110111111111111111111111111111111"

Vnumberdata (30) = "100010001110111011101110111011101110111011101110111011101110111011101110111011101111111111"

vNumberData (31) = "1000100011110111011111011101111101110111111010111111101011111110101111111010111111110111111111011111" vNumberData (32) = "1001010011110101011111010101111101010111110101011111001001111110101111111010111111101011111110101111"

Vnumberdata (33) = "100010001111011101110111011101011101010111011101110101110111011101100011"

Vnumberdata (34) = "1000100011101110111011101110111010111011101110111111101111111111111111111111"

Vnumberdata (35) = "1100000011101110111111111110111011101111111110111011101110111011101110000011"

'Output image file header

Response.binarywrite chrb (66) & chrb (77) & chrb (230) & chrb (4) & chrb (0) & chrb (0) & chrb (0) & chrb (0) & _

CHRB (0) & chrb (0) & chrb (54) & chrb (0) & chrb (0) & chrb (0) & chrb (40) & chrb (0) & _

CHRB (0) & chrb (0) & chrb (40) & chrb (0) & chrb (0) & chrb (0) & chrb (10) & chrb (0) & _

Chrb (0) & chrb (0) & chrb (1) & chrb (0)

'Output image information head

Response.binarywrite chrb (24) & chrb (0) & chrb (0) & chrb (0) & chrb (0) & chrb (0) & chrb (176) & chrb (4) & _

CHRB (0) & chrb (0) & chrb (18) & chrb (11) & chrb (0) & chrb (0) & chrb (18) & chrb (11) & _

CHRB (0) & chrb (0) & chrb (0) & chrb (0) & chrb (0) & chrb (0) & chrb (0) & chrb (0) & _

Chrb (0) & chrb (0)

For i = 9 to 0 step -1 'passing through

For ii = 0 to 3 'passing through all words

FOR III = 1 to 10 'passing through all pixels

'Output image data in line line, word, pixel

IF rND * 99 1

Response.binarywrite vcolordata (0)

Else

Response.binaryWrite Vcolordata (VNumberData (Vcode (II)), i * 10 III, 1)) END IF

NEXT

NEXT

NEXT

End Sub

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

New Post(0)