asp汉字中文图片验证码的实现代码
2018-09-06 12:07
此代码是在别人基础上增加的汉字功能,特此感谢,同时感谢鬼火狼烟。
以前的图片验证码很容易被破解,所以在其基础上进行改进,生成汉字,就目前而言很难破解
用法:
在需要显示验证码图片的地方插入代码<imgsrc=code.asp>
同时,自动生成session(psn),表单提交验证session就可以了。
复制代码 代码如下:
<%
------------------
汉字图片验证码
此代码是在别人基础上增加的汉字功能,特此感谢,同时感谢鬼火狼烟。
以前的图片验证码很容易被破解,所以在其基础上进行改进,生成汉字,就目前而言很难破解
干扰次数每加一->穷举法的代价提高约100*100倍
适当设定杂点几率可以有效降低软件识别正确率
------------------
OptionExplicit
CallCom_CreatValidCode(SessionName)
Rem生成验证码图片
SubCom_CreatValidCode(pSN)
ConstcodeLen=4验证码位数
ConstcOdds=4杂点出现的机率
ConstdbtTimes=1干扰次数(安全考虑,最好不要小于2)
ConstcAmount=85字库数量
ConstcCode=好一路阳光子无开月了的比小山古天中石头井火大西木开人也叶九七六五合文只个鱼羊哈么点四生件格不步布各你田红蓝来很春下画京左百白东关工共足方尺才梦见查着去区曲寻早可上丰爱呵刘字库对应的字符
ConstUnitWidth=28字宽(要为4的倍数)
ConstUnitHeight=28字高
ConstDotsLimit=2每次删除有效点的上限(避免无法人为识别)
ConsttryCount=2避免删除有效点超过上限的尝试次数限制
-----------
Randomize
Dimi,ii,iii
禁止缓存
Response.Expires=-9999
Response.AddHeaderPragma,no-cache
Response.AddHeadercache-ctrol,no-cache
颜色的数据(字符,背景)
DimvColorData(1)
vColorData(0)=ChrB(0)&ChrB(0)&ChrB(0)蓝0,绿0,红0(黑色)
vColorData(1)=ChrB(211)&ChrB(255)&ChrB(250)蓝250,绿236,红211(浅蓝色)
字符的数据(可以自己修改,如果修改了尺。