Program and principle of verification code

xiaoxiao2021-03-06  77

A total of 4 pages: form.asp; chk.asp; num.asp; count.asp Get an additional number. encryption! Into a decrypted image using the session is determined to XBM form.asp <% '### To encrypt / decrypt include this code in your page' ### strMyEncryptedString = EncryptString (strString) '### strMyDecryptedString = DeCryptString (strMyEncryptedString)' # ###### ###################################################################

Private function encryptstring (strstring) '####################################################################################################################################################################################################################################################################################### ################## ### Crypt Function (c) 2001 by Slavic Kozyuk Grindkore@yahoo.com ### '### Arguments: strstring <--- string you wish to encrypt ### '### output: Encrypted hex string ###' ############################################################################################################################################################################################################################################################### #############################################################

Dim Charhexset, IntStringlen, Strtemp, Strraw, I, INTKEY, INTOFFSET RANDOMIZE TIMER

INTKEY = ROUND ((RND * 1000000) 1000000) '##### Key Bitsize INTOFFSET = ROUND ((RND * 1000000) 1000000)' #### kYoffset Bitsize

IF isnull (strstring) = false dam = strstring tenttinglen = len (strraw)

For i = 0 to IntStringlen - 1 strTemp = Left (Strraw, 1) Strraw = Right (Strraw, Len (Straw) - 1) Charhexset = Charhexset & HEX (ASC (strTemp) * Intkey) & hex (intKey) Next

EncryptString = CharhexSTSTRING = CHARHEXSET & "|" & HEX (INTOFFSET INTKEY) & "| & HEX (INTOFFSET) Else Encryptstring =" "end if end function

Private function decryptstring (strcryptstring) '################################################################################################################################################################################################################################################################### ################## ### Crypt Function (c) 2001 by Slavic Kozyuk Grindkore@yahoo.com ### '### Arguments: Encrypted Hex Stringt ### '### Output: Decrypted ASCII String ###' ########################################################################################################################################################################################################################################################## ################################ ### Note this function uses hexconv ​​() And get_hxno () functions ### '### so make Sure the isy not removed ###' ##################################################################################################################################################################################################################################################################### ################################## DIM STRRAW, Arhexcharset, I, intKey, INTOFFSET, STRRAWKEY, STRHEXCRYPDATA

strRawKey = Right (strCryptString, Len (strCryptString) - InStr (strCryptString, "|")) intOffSet = Right (strRawKey, Len (strRawKey) - InStr (strRawKey, "|")) intKey = HexConv (Left (strRawKey, InStr ( Strrawkey, "|") - 1)) - HEXCONV (INTOFFSET) strhexcrypdata = left (strcryptstring) - (Len (Strrawkey) 1))

Arhexcharset = split (strhexcrypdata, hex (intKey))

For i = 0 to ubound (arhexcharset) strraw = strraw & chr (HEXCONV (Arhexcharset (i)) / intKey) Next

Decryptstring = strraw end function

Private function hexconv ​​(HEXVAR) DIM HXX, HXX_VAR, MULTIPLY IF HEXVAR <> "" THEN HEXVAR = ucase (HEXVAR) Hexvar = Strreverse (HEXVAR) DIM HX () Redim HX (Len (HEXVAR)) HXX = 0 hxx_var = 0 for HXX = 1 to Len (HEXVAR) IF MULTIPLY = "" Then Multiply = 1 HX (HXX) = MID (Hexvar, HXX, 1) HXX_VAR = (GET_HXNO (HXX)) * Multiply) hxx_var multiply = (multiply * 16) Next Hexvar = HXX_VAR HEXCONV = HEXVAR END IF END FUNCTION

Private function get_hxno (ghx) if ghx = "a" Then GHX = 10 elseif ghx = "b" Then GHX = 11 elseif ghx = "c" the ghx = 12 elseif ghx = "d" ghx = 13 elseif ghx = " E "Then GHX = 14 elseif ghx =" f "Then GHX = 15 end if get_hxno = ghx end function%> <% randomize num = int (7999 * rND 2000) 'counter Num2 = EncryptString (NUM) session "PWDT") = Num%>

Please enter the verification code: TRIM (Session ("PWDT")) %> Enter error: should be: <% = session ("PWDT")%>, but you can enter: <% = request.form ("pwds")%> <% else%> Enter correct <% end if %> count.asp

<% '### To encrypt / decrypt include this code in your page' ### strMyEncryptedString = EncryptString (strString) '### strMyDecryptedString = DeCryptString (strMyEncryptedString)' ### You are free to use this code as long as Credits Remain in Place '### Also if you improve this code let me know.

Private function encryptstring (strstring) '####################################################################################################################################################################################################################################################################################### ################## ### Crypt Function (c) 2001 by Slavic Kozyuk Grindkore@yahoo.com ### '### Arguments: strstring <--- string you wish to encrypt ### '### output: Encrypted hex string ###' ############################################################################################################################################################################################################################################################### #############################################################

Dim Charhexset, IntStringlen, Strtemp, Strraw, I, INTKEY, INTOFFSET RANDOMIZE TIMERINTKEY = ROUND ((RND * 1000000) 1000000) '##### KEY BITSIZE INTOFFSET = Round ((RND * 1000000) 1000000)' ## ### Keyoffset Bitsize

IF isnull (strstring) = false dam = strstring tenttinglen = len (strraw)

For i = 0 to IntStringlen - 1 strTemp = Left (Strraw, 1) Strraw = Right (Strraw, Len (Straw) - 1) Charhexset = Charhexset & HEX (ASC (strTemp) * Intkey) & hex (intKey) Next

EncryptString = CharhexSTSTRING = CHARHEXSET & "|" & HEX (INTOFFSET INTKEY) & "| & HEX (INTOFFSET) Else Encryptstring =" "end if end function

Private function decryptstring (strcryptstring) '################################################################################################################################################################################################################################################################### ################## ### Crypt Function (c) 2001 by Slavic Kozyuk Grindkore@yahoo.com ### '### Arguments: Encrypted Hex Stringt ### '### Output: Decrypted ASCII String ###' ########################################################################################################################################################################################################################################################## ################################ ### Note this function uses hexconv ​​() And get_hxno () functions ### '### so make Sure the isy not removed ###' ##################################################################################################################################################################################################################################################################### #############################################################################

Dim Strraw, Arhexcharset, I, Intkey, Intoffset, Strrawkey, StrHexcrypdata

strRawKey = Right (strCryptString, Len (strCryptString) - InStr (strCryptString, "|")) intOffSet = Right (strRawKey, Len (strRawKey) - InStr (strRawKey, "|")) intKey = HexConv (Left (strRawKey, InStr ( Strrawkey, "|") - 1)) - HEXCONV (INTOFFSET) strhexcrypdata = left (strcryptstring) - (Len (Strrawkey) 1))

Arhexcharset = split (strhexcrypdata, hex (intKey))

For i = 0 to ubound (arhexcharset) strraw = strraw & chr (HEXCONV (ArhexCharset (i)) / intKey) NextDecryptString = strraw end function

Private function hexconv ​​(HEXVAR) DIM HXX, HXX_VAR, MULTIPLY IF HEXVAR <> "" THEN HEXVAR = ucase (HEXVAR) Hexvar = Strreverse (HEXVAR) DIM HX () Redim HX (Len (HEXVAR)) HXX = 0 hxx_var = 0 for HXX = 1 to Len (HEXVAR) IF MULTIPLY = "" Then Multiply = 1 HX (HXX) = MID (Hexvar, HXX, 1) HXX_VAR = (GET_HXNO (HXX)) * Multiply) hxx_var multiply = (multiply * 16) Next Hexvar = HXX_VAR HEXCONV = HEXVAR END IF END FUNCTION

Private function get_hxno (ghx) if ghx = "a" Then GHX = 10 elseif ghx = "b" Then GHX = 11 elseif ghx = "c" the ghx = 12 elseif ghx = "d" ghx = 13 elseif ghx = " E "Then GHX = 14 elseif ghx =" f "THEN GHX = 15 end if get_hxno = ghx end function

%>

<% DIM image DIM WIDTH, HEIGHT DIM DIM DIM DIGTAL DIM LENGTH DIM SORT Length = 4 'Customary Counter Length

Redim Sort (Length)

Num = CINT (Request.QueryString ("SKSID"))) Digital = "" for i = 1 to length -len (num) '补 0 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) 'Image Width Height = 10 'The height of the image, in this example is fixed value

Response.contentType = "image / x-xbitmap"

HC = CHR (13) & chr (10)

Image = "#define counter_width" & Width & hc Image = Image & "#define counter_height" & Height & hc Image = Image & "static unsigned char counter_bits [] = {" & hcFor I = 1 To Height For J = 1 To Length Image = Image & A (Sort next image = left (image, len (image) - 1) 'Remove the last comma image = image & "};" & hc%> <% Response.write image%>

Num.asp <% DIM A (10, 10)

A (0, 1) = "0x3c" 'Digital 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"

%>

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

New Post(0)