一个超简单asp生成验证码程序

<%
sub getsafecode
 dim test,result
 on error resume next
 set test=server.createobject("adodb.stream")
 set test=nothing
 if err then
  dim znum
  randomize timer
  znum=cint(8999*rnd+1000)
  session("safecode")=znum
  result=session("safecode")
 else
  result="<img src="" safecode.asp"" align="" absmiddle"">"
 end if
 response.write result
end sub
%>

safecode.asp文件代码如下

<%

 dim objcanvas
 dim pointx,pointy,pointcolor
 dim itemp
 dim safecode
 dim r,g,b,cc,kk 
 cc=80
 kk=30
 safecode = ""
 session("safecode") = ""
 
 bgcolor = "ffffff"
 
 r = mid(bgcolor,1,2)
 g = mid(bgcolor,3,2)
 b = mid(bgcolor,5,2)
  
 
 
 r = dechex(r)
 g = dechex(g)
 b = dechex(b)
 
 set objcanvas = new canvas
 
 objcanvas.globalcolourtable(0) = rgb(255,255,255) ' white
 objcanvas.globalcolourtable(1) = rgb(0,0,0) ' black
 objcanvas.globalcolourtable(2) = rgb(255,0,0) ' red
 objcanvas.globalcolourtable(3) = rgb(0,255,0) ' green
 objcanvas.globalcolourtable(4) = rgb(0,0,255) ' blue
 objcanvas.globalcolourtable(5) = rgb(128,0,0)
 objcanvas.globalcolourtable(6) = rgb(0,128,0)
 objcanvas.globalcolourtable(7) = rgb(0,0,128)
 objcanvas.globalcolourtable(8) = rgb(128,128,0)
 objcanvas.globalcolourtable(9) = rgb(0,128,128)
 objcanvas.globalcolourtable(10) = rgb(128,0,128)
 objcanvas.globalcolourtable(11) = rgb(r,g,b)

 objcanvas.backgroundcolourindex = 11
 
 objcanvas.resize cc,kk,false 
 
 
 randomize timer
 safecode = cint(8999*rnd+1000) 
  
 for itemp = 0 to 30
  randomize timer
  pointx = int(rnd * cc)
  pointy = int(rnd * kk)
  pointcolor = int(rnd * 3)+2
  objcanvas.foregroundcolourindex = pointcolor  
  objcanvas.line pointx,pointy,pointx,pointy 
  
 next 
 
 objcanvas.foregroundcolourindex = 1
 objcanvas.line 1,1,cc,1
 objcanvas.line 1,kk,1,1
 objcanvas.line 1,kk,cc,kk
 objcanvas.line cc,1,cc,kk
 
 session("safecode") = safecode
 dim sc,sk
 randomize timer
 sc = cint(24*rnd)
 sk = cint(11*rnd)
 objcanvas.drawtextwe sc,sk,safecode
 objcanvas.write
  

 

function dechex (hstr)
 
 dim result
 dim i,l
 
 result = 0
 
 
 l = len(hstr)
 

 for i = l-1 to 0 step -1
 
  result = result + (16 ^ i)*getdecbit(mid(hstr,i+1,1))
  
 next
 
 dechex = result
 
end function

function getdecbit (hstr)
 
 dim result
 dim r(16)
 dim i
 
 result = 0
 
 r(0) = "0"
 r(1) = "1"
 r(2) = "2"
 r(3) = "3"
 r(4) = "4"
 r(5) = "5"
 r(6) = "6"
 r(7) = "7"
 r(8) = "8"
 r(9) = "9"
 r(10) = "a"
 r(11) = "b"
 r(12) = "c"
 r(13) = "d"
 r(14) = "e"
 r(15) = "f"
 
 for i = 0 to 15
  
  if hstr=r(i) then result = i : exit for
  
 next
 
 getdecbit = result
 
end function

%>

时间: 2024-11-02 16:07:04

一个超简单asp生成验证码程序的相关文章

超简单asp生成静态页面代码

<form method="post" action=""> <textarea name="asp2html" style="display:none"><!--#include file="htmer.asp"--></textarea> <input type="submit" value="生成html页"

asp生成验证码程序

<% Option Explicit Response.buffer=true Response.Expires = -1 Response.ExpiresAbsolute = Now() - 1 Call Com_CreatValidCode("GetCode") Sub Com_CreatValidCode(pSN)  'Author: Layen  'QQ: 84815733  'E-mail: support@ssaw.net  ' 禁止缓存  Response.Expi

asp 生成验证码程序代码

<% Option Explicit Response.buffer = True NumCode (8)   '注:1,4,7,10,13,16为彩色背景型 2,5,8,11,14,17为黑白型 3,6,9,12,15,18为噪点型 Function NumCode(CodeType)     Response.Expires = -1     Response.AddHeader "Pragma", "no-cache"     Response.AddH

ASP生成验证码详细教程

总共有三个文件.讲解如何通过ASP生成验证码.Asp文件:Code.Asp 数据文件:body.Fix , Head.Fix  用法:<img src="code.asp"> <%Option ExplicitResponse.buffer=trueNumCodeFunction NumCode()    Response.Expires = -1    Response.AddHeader "Pragma","no-cache"

关于C++加法运算符重载的一个超简单问题

问题描述 关于C++加法运算符重载的一个超简单问题 以下代码: #include using namespace std; class num { public: num(){n=1;cout<<"构造函数执行 ";} num(int i){n=i;cout<<"带一个参数的构造函数执行 ";} num(const num&s){this->n=s.n;cout<<"复制构造函数执行 ";} ~n

iostream-C++一个超简单If语句问题

问题描述 C++一个超简单If语句问题 我想用If嵌套做一个类似于关系验证的程序 但是第一层就出问题了... #include using namespace std; main() { char name='A'; cout<<"请输入我姓氏大写首字母n"; cin>>name; if(name='A') cout<<"联系人"<<endl; else cout<<"陌生人"<&

求一个特别简单的安卓小程序 就是点击一个按钮就与IP127.0.0.1 端口8500建立连接

问题描述 求一个特别简单的安卓小程序 就是点击一个按钮就与IP127.0.0.1 端口8500建立连接 就是安卓的socket程序 能与只连接就行 主要我不懂线程有人说不能写到主线程里 解决方案 把网络耗时的操作放到Handler里面,新建线程操作. http://www.cnblogs.com/devinzhang/archive/2011/12/30/2306980.html 解决方案二: sockt()://建立套接字 connect()://连接 send()://发送 recv():/

关于C++后置运算符重载一个超简单问题

问题描述 关于C++后置运算符重载一个超简单问题 以下代码 #include using namespace std; class num { public: num(){n=1;cout<<"构造函数执行 ";} num(int i){n=i;cout<<"带一个参数的构造函数执行 ";} num(const num&s){this->n=s.n;cout<<"复制构造函数执行 ";} ~num

一个超简单的jQuery回调函数例子(分享)_jquery

jQuery回调函数简单使用 比如说,我们想要点击某个按钮后触发事件, 先把一些指定内容给隐藏掉, 然后跳出相关信息的对话框. 如果使用普通的方法, 不用回调函数的话, 会有怎么样的效果呢? 效果是先弹出对话框再隐藏内容, 然后再隐藏指定内容. 这显然不是我们想要的效果, 如果使用回调函数,就可以解决这个问题. 当然,回调函数功能远不只这么简单-- 具体的代码如下: <%@ page language="java" import="java.util.*" p