##### Copyright reprinted. Please keep it. Thank you for your cooperation.
##### Some programs are taken from the network
##### Author: Yangzi
##### Email: yangzinet@hotmail.com
##### QQ: 21112856
##### Website: www.tingfo.net
Four pages in total: form. asp; chk. asp; num. asp; count. asp
Get a number. Encryption!
The decrypted image is converted into an xbm image.
Judging by session
Form. 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, effecffset
Randomize Timer
Intkey = round (RND * 1000000) + 1000000) '##### key bitsize
Effecffset = round (RND * 1000000) + 1000000) '##### keyoffset bitsize
If isnull (strstring) = false then
Strraw = strstring
Intstringlen = Len (strraw)
For I = 0 to intstringlen-1
Strtemp = left (strraw, 1)
Strraw = right (strraw, Len (strraw)-1)
Charhexset = charhexset & hex (ASC (strtemp) * intkey) & hex (intkey)
Next
Encryptstring = charhexset & "|" & hex (effecffset + intkey) & "|" & hex (effecffset)
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 they are not removed ###
'####################################### #############################
Dim strraw, arhexcharset, I, intkey, effecffset, strrawkey, strhexcrypdata
Strrawkey = right (strcryptstring, Len (strcryptstring)-instr (strcryptstring, "| "))
Export ffset = right (strrawkey, Len (strrawkey)-instr (strrawkey, "| "))
Intkey = hexconv (left (strrawkey, instr (strrawkey, "|")-1)-hexconv (effecffset)
Strhexcrypdata = left (strcryptstring, Len (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 (HX (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" then
Ghx = 12
Elseif ghx = "D" then
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 value
Num2 = encryptstring (Num)
Session ("pwdt") = num
%>
<Form action = "chk. asp" method = post>
Enter the verification code: <input type = "text" name = "PWDs">
"> <input type = submit value = submit>
</Form>
Chk. asp
<%
If trim (request. Form ("PWDs") <> trim (Session ("pwdt") then
%>
Input error: it should be: <% = SESSION ("pwdt") %>, But you entered: <% = request. Form ("PWDs") %>
<%
Else
%>
Entered correctly
<% End if %>
Count. asp
<! -- # Include file = "num. 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, effecffset
Randomize Timer
Intkey = round (RND * 1000000) + 1000000) '##### key bitsize
Effecffset = round (RND * 1000000) + 1000000) '##### keyoffset bitsize
If isnull (strstring) = false then
Strraw = strstring
Intstringlen = Len (strraw)
For I = 0 to intstringlen-1
Strtemp = left (strraw, 1)
Strraw = right (strraw, Len (strraw)-1)
Charhexset = charhexset & hex (ASC (strtemp) * intkey) & hex (intkey)
Next
Encryptstring = charhexset & "|" & hex (effecffset + intkey) & "|" & hex (effecffset)
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 they are not removed ###
'####################################### #############################
Dim strraw, arhexcharset, I, intkey, effecffset, strrawkey, strhexcrypdata
Strrawkey = right (strcryptstring, Len (strcryptstring)-instr (strcryptstring, "| "))
Export ffset = right (strrawkey, Len (strrawkey)-instr (strrawkey, "| "))
Intkey = hexconv (left (strrawkey, instr (strrawkey, "|")-1)-hexconv (effecffset)
Strhexcrypdata = left (strcryptstring, Len (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 (HX (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" then
Ghx = 12
Elseif ghx = "D" then
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 num
Dim Digtal
Dim Length
Dim sort
Length = 4' custom counter Length
Redim sort (length)
Num = CINT (decryptstring (request. querystring ("sksid ")))
Digital = ""
For I = 1 to length-len (Num) 'fill in 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, which is a fixed value in this example.
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 [] = {" & 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) 'remove the last comma
Image = Image & "};" & HC
%>
<%
Response. Write Image
%>
Num. asp
<%
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"
%>