验证码的程序及原理

程序|验证码

##### 版权所有 转载请保留 谢谢合作
##### 部分程序取自网络
##### 作者:扬子
##### Email: yangzinet@hotmail.com
##### 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 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) '##### 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 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, 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 = 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) '计数器的值
num2 = EncryptString(num)
session("pwdt")=num
%>
<form action="chk.asp" method=post>
请输入验证码: <input type="text" name="pwds">
<img src="count.asp?sksid=<%=num2%>"> <input type=submit value=提交>
</form>

chk.asp
<%
if trim(request.form("pwds"))<>trim(session("pwdt")) then
%>
输入错误: 应该为:<%=session("pwdt")%>,可你输入的是:<%=request.form("pwds")%>
<%
e

时间: 2024-08-22 14:16:38

验证码的程序及原理的相关文章

ASP验证码的程序及原理

程序|验证码   ##### 版权所有 转载请保留 谢谢合作   ##### 部分程序取自网络   ##### 作者:扬子   ##### Email: yangzinet@hotmail.com   ##### QQ: 21112856   ##### WebSite: www.tingfo.net         一共4个页面:form.asp; chk.asp; num.asp; count.asp   得到一个随即数字.加密!   解密后成成XBM图片   利用session 判断   

ASP 验证码的程序及原理

程序|验证码 ##### 版权所有 转载请保留 谢谢合作 ##### 部分程序取自网络 ##### 作者:扬子 ##### Email: yangzinet@hotmail.com ##### QQ: 21112856##### WebSite: www.tingfo.net 一共4个页面:form.asp; chk.asp; num.asp; count.asp得到一个随即数字.加密!解密后成成XBM图片利用session 判断 form.asp<%'### To encrypt/decryp

验证码的程序及原理, 看需要的人很多,就贴出来,希望进精华备查

程序|精华|验证码 #####  版权所有  转载请保留  谢谢合作  #####  部分程序取自网络               #####  作者:扬子                     #####  Email: yangzinet@hotmail.com  #####  QQ: 21112856#####  WebSite: www.tingfo.net 一共4个页面:form.asp; chk.asp; num.asp; count.asp得到一个随即数字.加密!解密后成成XBM

结对编程-短信验证码的程序怎么写 需要什么工具

问题描述 短信验证码的程序怎么写 需要什么工具 本地的普通模板已经做出来了就是不知道怎么把接口对接上 或需要什么工具 解决方案 需要申请一个发短信的接口,并且支付相关费用. 解决方案二: 需要短信猫,你自己百度一下吧 解决方案三: 用飞q之类的短信验证码平台吧,不用自己买猫池.

JSP程序运行原理、文档结构及简单输入输出实例分析_JSP编程

本文实例讲述了JSP程序运行原理.文档结构及简单输入输出.分享给大家供大家参考.具体如下: 目标: 掌握Web应用的文档结构: 掌握JSP的运行原理: 掌握JSP的简单输入和输出. 主要内容: 通过一个简单实例介绍Web应用的文档结构和运行原理: 通过一个简单的注册功能介绍基本的输入输出. 实现内容:客户端验证. 1. 文档结构 每个应用都有一个根目录,例如ch2:理论上可以放在任何地方,但是需要配置,简单的做法,直接放在了webapps这个目录下,在这个目录的应用会被自动加载. 在根目录下会有

php 验证码图片 程序

<?php php 验证码图片 程序 /* *文件名:class.safeCode.php *类名:safeCode *目的:生成web应用时所需的验证码图片 *当前版本:1.0.2 *作者:NoAngels *联系方式:flare_1023@163.com QQ:82535599 MSN:atizu@hotmail.com *开发时间:2008年06月20日 *最后更新:2008年06月21日 *更新内容: *版本1.0.2 *1.更新了对linux主机支持,设置GDFONTPATH环境变量,

PHP网站安装程序的原理及代码

原文:PHP网站安装程序的原理及代码 原理: 其实PHP程序的安装原理无非就是将数据库结构和内容导入到相应的数据库中,从这个过程中重新配置连接数据库的参数和文件,为了保证不被别人恶意使用安装文件,当安装完成后需要修改安装文件. 步骤: 1.检查目录或文件的权限 2.修改或填加配置文件 3.检查配置文件正确性 4.导入数据库 5.锁定或删除安装文件  具体代码: 文件:由于只是展示原理,尽量让其简单化故用小Demo形式演示 install.html 为表单填写文件 doAction.php  为处

《精通Android 5 多媒体开发》——第22章,第22.2节开发屏保程序的原理

22.2 开发屏保程序的原理精通Android 5 多媒体开发在Android系统中开发一个屏保程序,其开发原理比较简单,具体说明如下所示. (1)首先准备一个Service,当然这个Service在主Activity中启动:然后在Service中注册一个Receiver,该Receiver 监听系统的Screen Off(即屏幕关闭)事件.当然在Service中要关闭原有的屏保(关闭系统屏保需要再配置文件中获得权限). (2)然后在方法onReceive中启动自己的屏保 Activity.在此

ASP中实现小偷程序的原理和简单示例

程序|示例|小偷程序 现在网上流行的小偷程序比较多,有新闻类小偷,音乐小偷,下载小偷,那么它们是如何做的呢,下面我来做个简单介绍,希望对各位站长有所帮助. (一)原理 小偷程序实际上是通过了XML中的XMLHTTP组件调用其它网站上的网页.比如新闻小偷程序,很多都是调用了sina的新闻网页,并且对其中的html进行了一些替换,同时对广告也进行了过滤.用小偷程序的优点有:无须维护网站,因为小偷程序中的数据来自其他网站,它将随着该网站的更新而更新:可以节省服务器资源,一般小偷程序就几个文件,所有网页