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

ASP
IIS的安装和配置全过程
多语言网站开发技术分析
ASP完美转化ACCESS为SQL数据库连接
解决IIS下UTF-8文件报错乱码的问题
ASP打开任何类型文件提示保存
ASP教程:Stream 速查
asp生成UTF-8格式的文件
动态网站建站应知应会
2000/XP IIS配置问题
怎样在xp下配置iis
ASP教程:数组数据排序的程序例子
ASP教程:ASP是不区分大小写
一些语言的标识符的命名规则
ASP教程:表单内容提交到XML文件中
ASP是不是值得学习呢?
详细的关于ASP缓存类的教程
ASP教程:ASP关于数组的应用技巧
ASP教程:Expires 属性的介绍
SQL关于特殊字符处理的基本方法
XMLHTTP实时进行表单数据的校验

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 63 ::
收藏到网摘: 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