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

ASP
很不错的一个UBB代码
获取图片宽度和高度的类,支持JPG,GIF,PNG,BMP
无组件生成缩略图
如何远程调用ACCESS数据库[要求加精!!]
也谈采集入库的技术
asp打包类
分页类,异常类
ASP用JMail、CDO发送邮件
保存远程图片函数修改正版
图片自动保存到本地并利用aspjpeg为图片加水印
改进 ASP 的字符串处理性能
简单分页函数一 常用
LINE9的目录浏览源程序
使用XMLDOM在不支持FSO的服务器上
[原创]本人常用的asp代码
生成所有页面的效果+分页生成
[原创]asp+fso在线管理图片功能
ASPJPEG学习手记
ASP代码的对象化
[原创]关于Script的Defer属性

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


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