当前位置: 首页 > 图文教程 > 网络编程 > ASP > 验证码的程序及原理

ASP
如何善用Response.Buffer增进浏览速度?
利用 Meta Tag 来增加文件属性
要如何使用 ASP Error 组件?
Server.Execute和#include相异之处
ASP中文本文件与数据库文件的数据交换
如何用ASP建立图表
如何在ASP中通过ODBC调用Excel中的数据
不刷新页面改变下拉菜单内容
使用ASP重启服务器
用模板建立动态ASP页
如何用ASP将一大段文字中的HTML的标识去掉
让使用者可以看到你的ASP的原代码
用ASP实现在特定的时段或对特定访问者开放
在ASP中判断SQL语句是否执行成功
直接显示Monday等星期的ASP语句
LINE 的计数器源程序(附源代码)
使用asp+中的若干问题及解决方案
ASP实现多语言支持
Session对象在各浏览器中的有效范围
SQL Server如何解决加密问题?

ASP 中的 验证码的程序及原理


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 231 ::
收藏到网摘: n/a

       ##### 版权所有 转载请保留 谢谢合作
  ##### 部分程序取自网络
  ##### 作者:扬子
  ##### Email: [email protected]
  ##### QQ: 21112856
  ##### WebSite: www.tingfo.net
  
  
  一共4个页面:form.asp; chk.asp; num.asp; count.asp
  得到一个随即数字。加密!
  解密后成成XBM图片
  利用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 [email protected] ###
  '### 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) '##### 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(intOffSet + intKey) & "|" & Hex(intOffSet)
  Else
  EncryptString = ""
  End If
  End Function
  
  
  
  
  Private Function DeCryptString(strCryptString)
  '####################################################################
  '### Crypt Function (C) 2001 by Slavic Kozyuk [email protected] ###
  '### 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, 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(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 = U