使用ASP生成图片彩色校验码

使用ASP生成图片彩色校验码

49行代码,三个文件
Asp文件:Code.Asp
数据文件:body.Fix , Head.Fix
下载:下载打包文件
用法:<img src="code.asp">

<%Option ExplicitResponse.buffer=trueNumCodeFunction NumCode()    Response.Expires = -1    Response.AddHeader "Pragma","no-cache"    Response.AddHeader "cache-ctrol","no-cache"    dim zNum,i,j    dim Ados,Ados1    Randomize timer    zNum = cint(8999*Rnd+1000)    Session("GetCode") = zNum    dim zimg(4),NStr        NStr=cstr(zNum)        For i=0 to 3            zimg(i)=cint(mid(NStr,i+1,1))        Next    dim Pos    set Ados=Server.CreateObject("Adodb.Stream")        Ados.Mode=3        Ados.Type=1        Ados.Open    set Ados1=NT color=#0000bb>Server.CreateObject("Adodb.Stream")        Ados1.Mode=3        Ados1.Type=1        Ados1.Open        Ados.LoadFromFile(Server.mappath("body.Fix"))        Ados1.write Ados.read(1280)        for i=0 to 3            Ados.Position=(9-zimg(i))*320            Ados1.Position=i*320            Ados1.write ados.read(320)        next            Ados.LoadFromFile(Server.mappath("head.fix"))        Pos=lenb(Ados.read())        Ados.Position=Pos        for i=0 to 9 step 1            for j=0 to 3                Ados1.Position=i*32>+j*320                Ados.Position=Pos+30*j+i*120                Ados.write ados1.read(30)            next        next        Response.ContentType = "image/BMP"        Ados.Position=0        Response.BinaryWrite Ados.read()        Ados.Close:set Ados=nothing        Ados1.Close:set Ados1=nothingEnd Function' Asp code Created by BlueIdea.COM Web Team V37 2003-7-25%>

代码解释:

Response.buffer=true
NumCode
Function NumCode()
 Response.Expires = -1
 Response.AddHeader "Pragma","no-cache"
 Response.AddHeader "cache-ctrol","no-cache"
 dim zNum,i,j
 dim Ados,Ados1
 Randomize timer
生成随机四位数字:
 zNum = cint(8999*Rnd+1000)
传递给session
 Session("GetCode") = zNum
该for循环是将随机数字放入一个下标3的数组,便于提供给后面的阵列变换
 dim zimg(3),NStr
 NStr=cstr(zNum)
 For i=0 to 3
 zimg(i)=cint(mid(NStr,i+1,1))
 Next
 dim Pos

'定义二个 ADODB.Stream binary对象,作图像数据操作之用:

 set Ados=Server.CreateObject("Adodb.Stream")
 Ados.Mode=3
 Ados.Type=1
 Ados.Open
 set Ados1=Server.CreateObject("Adodb.Stream")
 Ados1.Mode=3
 Ados1.Type=1
 Ados1.Open
'载入0~9的数字数据10x100的,Gbr的阵列数据,每个320字节,10个数字3200byte
'BGR一个点,10x10个点一个数字,一个点三个字节(二进制8位,16进制 00~FF)
'一行10个点 30字节 + 行结束标记 00 00 二字节 32字节,所以一个10x100宽小于长的图像每个数字10x10是320字节
'长大于宽的则无行结束标记 0000,直接是300字节
这些就是BMP 24bit的数据详细信息了
‘至于头部,也很简单,包含长宽,图像开始标记等等~~才54字节,远没jpg什么的复杂

 Ados.LoadFromFile(Server.mappath("body.Fix"))
 Ados1.write Ados.read(1280)
'第一个for循环,按生成的随机数字顺序从 10X100的数字阵列中提取出相应的四个数字
但是竖排的数字阵列
 for i=0 to 3
 Ados.Position=(9-zimg(i))*320
 Ados1.Position=i*320
 Ados1.write ados.read(320)

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索server
, 数字
, 字节
, response
, position
, 阵列
zimg
条形码校验码生成器、crc32 在线生成校验码、md5生成文件校验码、mod37 2校验码生成、crc16 在线生成校验码,以便于您获取更多的相关知识。

时间: 2024-11-01 16:41:55

使用ASP生成图片彩色校验码的相关文章

ASP生成图片彩色校验码

49行代码,三个文件 Asp文件:Code.Asp 数据文件:body.Fix , Head.Fix 用法:<img src="code.asp"> <%Option ExplicitResponse.buffer=trueNumCodeFunction NumCode() Response.Expires = -1 Response.AddHeader "Pragma","no-cache" Response.AddHeade

ASP彩色校验码的制作方法

要读懂这些代码主要是要了解ASP中操作二进制数据的对象ADODB.Stream!本程序主要用的就是Adodb.Stream,如果你有这个基础,就可以进一步添加更多的功能如加入杂点,渐变底色,数字行列错位,笔画短点,提高被ocr识别的不可能.目前还没有好的识别引擎,昨天下载了个号称能识别图像验证码90%的,把4321识别成 89910,所以图像码还是比较安全的. 在网上看到有暴力破解的方法,如果我用图像附加码+禁止外部提交+10次密码错误封帐号 +50次密码错误琐死IP+10秒的防刷新间隔注册页,

彩色校验码的制作方法

要读懂这些代码主要是要了解ASP中操作二进制数据的对象ADODB.Stream!本程序主要用的就是Adodb.Stream,如果你有这个基础,就可以进一步添加更多的功能如加入杂点,渐变底色,数字行列错位,笔画短点,提高被ocr识别的不可能.目前还没有好的识别引擎,昨天下载了个号称能识别图像验证码90%的,把4321识别成 89910,所以图像码还是比较安全的. 在网上看到有暴力破解的方法,如果我用图像附加码+禁止外部提交+10次密码错误封帐号 +50次密码错误琐死IP+10秒的防刷新间隔注册页,

象 DEV-Club 那样的彩色校验码

要读懂这些代码主要是要了解ASP中操作二进制数据的对象ADODB.Stream!本程序主要用的就是Adodb.Stream,如果你有这个基础,就可以进一步添加更多的功能如加入杂点,渐变底色,数字行列错位,笔画短点,提高被ocr识别的不可能.目前还没有好的识别引擎,昨天下载了个号称能识别图像验证码90%的!把4321识别成 89910,所以图像码还是比较安全的. 在网上看到有暴力破解的方法,如果我用图像附加码+禁止外部提交+10次密码错误封帐号 +50次密码错误琐死IP+10秒的防刷新间隔注册页,

ASP.NET程序中实现校验码图像生成

asp.net|程序 在Web系统中很多时候需要用到校验码,例如我们经常遇到不少电子邮件.论坛的注册过程需要我们输入校验码,这是为了提高安全性.今天我们就来讲讲如何生成校验码. 使用ASP.NET来生成校验码图像很方便,网上也有不少教程与文章有介绍,但是都讲的太简单了,不够实用.我来介绍一点自己的思路,算是抛砖引玉吧. 首先我们来看看,生成校验码的一种常见方式: 1. 生成校验码的字符串 2. 将该字符串输出为图像 具体步骤 下面我们就开始简单的例子来介绍这个过程,首先打开VS.NET,新建一个

JS验证身份证号地区码及最后一位校验码

/* 参数为身份证号 返回正确校验码 */ function getjy(id) {     var arr = new Array();//分别取出身份证的前17位加入到这个数组     var arr1 = new Array();//对向相应的次方     var num = 0;     for (var i = 0; i < 17; i++) {         arr[i] = id.charAt(i);     }     for (var i = 0; i < arr.leng

mac java-java 生成MAC校验码问题

问题描述 java 生成MAC校验码问题 需求描述: 将16字节的摘要数据前8个字节后8个字节进行异或,接着再用工作密钥(MAC密钥)用des算法加密异或后的8个字节,最后生成MAC示例:1 请求报文的报文体串:200001|compcode|20120521125152|1205250957011|spot_code|abc123|01|1401978481|201205|20120512|2 对报文体串进行MAC字符选择处理构成MAB串.200001COMPCODE2012052112515

ASP求平均分源码示例

用ASP求平均分源码 <%dim fs(4),i,out_nfs(0)=85fs(1)=80fs(2)=75fs(3)=70fs(4)=65for i=0 to (ubound(fs))  out_n=out_n+fs(i)nextout_n = out_n/(ubound(fs)+1)response.write "平均分为:"&"    "&out_n%>

ASP调用存储过程源码示例

ASP调用存储过程源码示例 以下是代码:<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <%     Set conn = CreateObject("ADODB.Connection")     strCon = "Provider=SQLNCLI;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=Nor