[会员中心]  [发布文章][发布软件]  [中文繁體] 
 文章·资料  电脑软件  手机软件  网站源码
   本 站 搜 索
[选项]
   推 荐 文 章       More...
华硕易电脑(ASUS Eee PC 1025C)驱动程序(Windows XP)安装参考(图) 华硕易电脑(ASUS Eee PC 1025C..
先来段开场白:为了外出携带方便..
Acronis True Image 使用说明 Acronis True Image 使用说明
  一款可以在Windows下使用..
Norton Ghost 使用详解 Norton Ghost 使用详解
一、分区备份   使用Ghost..
   阅 读 排 行
Windows 系统安装或备份时 ISO,GHO,WIM,ESD,PMF 都是什么文件类型 Windows 系统安装或备份时 ISO,GH..
【ISO 文件】 ISO 文件其实就..
使用“自动点击器”APP 在抖音直播间自动点赞 使用“自动点击器”APP 在抖音直..
看过抖音直播的朋友都知道,进入..
OPPO 手机的锁屏时间设置成横向显示 OPPO 手机的锁屏时间设置成横向..
第一次使用 OPPO 手机,桌面和锁..
电脑机箱(主板)前面板 USB 数据线的接线参考(图) 电脑机箱(主板)前面板 USB 数据..
  一、概述   因为每个 US..
抖音直播录屏的草稿保存位置 抖音直播录屏的草稿保存位置
抖音直播录屏,保存为“草稿”后,..
微信收到 flv 格式视频,如何播放? 微信收到 flv 格式视频,如何播放?
  微信上收到一个 flv 格式视频..
TrustAsia/DigiCert/Let s Encrypt 的免费 SSL 证书,多款网页浏览器都无法正常打开 TrustAsia/DigiCert/Let s Encryp..
云服务器安装了 Windows Server 2..
三星打印机(SCX-4521)提示“墨粉不足”设置 三星打印机(SCX-4521)提示“墨粉..
  三星打印机(SCX-4521)在添加..
文 章 信 息
无组件生成验证码-BMP格式
评论()][留言][收藏
[文章分类:电脑·手机·网络 / 网站设计·开发·优化][阅读选项
无组件生成验证码-BMP格式 

来自:蓝色理想 
<% 
Call Com_CreatValidCode("ValidCode") 

Sub Com_CreatValidCode(pSN) 

     ’Author: Layen 
     ’QQ: 84815733 
     ’E-mail: support@ssaw.net 

  

     ’ 禁止缓存 
     Response.Expires = -9999  
     Response.AddHeader "Pragma","no-cache" 
     Response.AddHeader "cache-ctrol","no-cache" 
     Response.ContentType = "Image/BMP" 

     Randomize 

     Dim i, ii, iii 

     Const cOdds = 8 ’ 杂点出现的机率 
     Const cAmount = 36 ’ 文字数量 
     Const cCode = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" 

     ’ 颜色的数据(字符,背景) 
     Dim vColorData(1) 
     vColorData(0) = ChrB(0) & ChrB(0) & ChrB(0)  ’ 蓝0,绿0,红0(黑色) 
     vColorData(1) = ChrB(250) & ChrB(236) & ChrB(211) ’ 蓝250,绿236,红211(浅蓝色) 

     ’ 随机产生字符 
     Dim vCode(4), vCodes 
     For i = 0 To 3 
           vCode(i) = Int(Rnd * cAmount) 
           vCodes = vCodes & Mid(cCode, vCode(i) + 1, 1) 
     Next 

     Session(pSN) = vCodes  ’记录入Session 

     ’ 字符的数据 
     Dim vNumberData(35) 
     vNumberData(0) = "1110000111110111101111011110111101001011110100101111 
010010111101001011110111101111011110111110000111" 
     vNumberData(1) = "1111011111110001111111110111111111011111111101111111 
110111111111011111111101111111110111111100000111" 
     vNumberData(2) = "1110000111110111101111011110111111111011111111011111 
111011111111011111111011111111011110111100000011" 
     vNumberData(3) = "1110000111110111101111011110111111110111111100111111 
111101111111111011110111101111011110111110000111" 
     vNumberData(4) = "1111101111111110111111110011111110101111110110111111 
011011111100000011111110111111111011111111000011" 
     vNumberData(5) = "1100000011110111111111011111111101000111110011101111 
111110111111111011110111101111011110111110000111" 
     vNumberData(6) = "1111000111111011101111011111111101111111110100011111 
001110111101111011110111101111011110111110000111" 
     vNumberData(7) = "1100000011110111011111011101111111101111111110111111 
110111111111011111111101111111110111111111011111" 
     vNumberData(8) = "1110000111110111101111011110111101111011111000011111 
101101111101111011110111101111011110111110000111" 
     vNumberData(9) = "1110001111110111011111011110111101111011110111001111 
100010111111111011111111101111011101111110001111" 
     vNumberData(10) = "1111011111111101111111101011111110101111111010111111 
101011111100000111110111011111011101111000100011" 
     vNumberData(11) = "1000000111110111101111011110111101110111110000111111 
011101111101111011110111101111011110111000000111" 
     vNumberData(12) = "1110000011110111101110111110111011111111101111111110 
111111111011111111101111101111011101111110001111" 
     vNumberData(13) = "10000011111101110111110111101111011110111101111011110 
11110111101111011110111101111011101111000001111" 
     vNumberData(14) = "10000001111101111011110110111111011011111100001111110 
11011111101101111110111111111011110111000000111" 
     vNumberData(15) = "10000001111101111011110110111111011011111100001111110 
11011111101101111110111111111011111111000111111" 
     vNumberData(16) = "11100001111101110111101111011110111111111011111111101 
11111111011100011101111011111011101111110001111" 
     vNumberData(17) = "10001000111101110111110111011111011101111100000111110 
11101111101110111110111011111011101111000100011" 
     vNumberData(18) = "11000001111111011111111101111111110111111111011111111 
10111111111011111111101111111110111111100000111" 
     vNumberData(19) = "11100000111111101111111110111111111011111111101111111 
11011111111101111111110111110111011111000011111" 
     vNumberData(20) = "10001000111101110111110110111111010111111100011111110 
10111111101101111110110111111011101111000100011" 
     vNumberData(21) = "10001111111101111111110111111111011111111101111111110 
11111111101111111110111111111011110111000000011" 
     vNumberData(22) = "10001000111100100111110010011111001001111101010111110 
10101111101010111110101011111010101111001010011" 
     vNumberData(23) = "10001000111100110111110011011111010101111101010111110 
10101111101100111110110011111011001111000110111" 
     vNumberData(24) = "11100011111101110111101111101110111110111011111011101 
11110111011111011101111101111011101111110001111" 
     vNumberData(25) = "10000001111101111011110111101111011110111100000111110 
11111111101111111110111111111011111111000111111" 
     vNumberData(26) = "11100011111101110111101111101110111110111011111011101 
11110111011111011101001101111011001111110001011" 
     vNumberData(27) = "10000011111101110111110111011111011101111100001111110 
10111111101101111110110111111011101111000110011" 
     vNumberData(28) = "11100000111101111011110111101111011111111110011111111 
11001111111111011110111101111011110111100000111" 
     vNumberData(29) = "10000000111011011011111101111111110111111111011111111 
10111111111011111111101111111110111111110001111" 
     vNumberData(30) = "10001000111101110111110111011111011101111101110111110 
11101111101110111110111011111011101111110001111" 
     vNumberData(31) = "10001000111101110111110111011111011101111110101111111 
01011111110101111111010111111110111111111011111" 
     vNumberData(32) = "10010100111101010111110101011111010101111101010111110 
01001111110101111111010111111101011111110101111" 
     vNumberData(33) = "10001000111101110111111010111111101011111111011111111 
10111111110101111111010111111011101111000100011" 
     vNumberData(34) = "10001000111101110111110111011111101011111110101111111 
10111111111011111111101111111110111111110001111" 
     vNumberData(35) = "11000000111101110111111111011111111011111111101111111 
10111111111011111111011111111101110111100000011" 

     ’ 输出图像文件头 
     Response.BinaryWrite ChrB(66) & ChrB(77) & ChrB(230) & ChrB(4) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) &_ 
           ChrB(0) & ChrB(0) & ChrB(54) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(40) & ChrB(0) &_ 
           ChrB(0) & ChrB(0) & ChrB(40) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(10) & ChrB(0) &_ 
           ChrB(0) & ChrB(0) & ChrB(1) & ChrB(0) 

     ’ 输出图像信息头 
     Response.BinaryWrite ChrB(24) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(176) & ChrB(4) &_ 
           ChrB(0) & ChrB(0) & ChrB(18) & ChrB(11) & ChrB(0) & ChrB(0) & ChrB(18) & ChrB(11) &_ 
           ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) &_ 
           ChrB(0) & ChrB(0) 

     For i = 9 To 0 Step -1  ’ 历经所有行 
           For ii = 0 To 3  ’ 历经所有字 
                 For iii = 1 To 10 ’ 历经所有像素 
                 ’ 逐行、逐字、逐像素地输出图像数据 
                       If Rnd * 99 + 1 < cOdds Then ’ 随机生成杂点 
                             Response.BinaryWrite vColorData(0) 
                       Else 
                             Response.BinaryWrite vColorData(Mid(vNumberData(vCode(ii)), i * 10 + iii, 1)) 
                       End If 
                 Next 
           Next 
     Next 
End Sub 

%> 
保存成ASP文件即可看见效果!

文章作者:未知  更新日期:2006-05-13
[文章浏览:][打印文章][发送文章
相关文章
·无组件生成验证码-GIF格式2006-05-13
阅读说明
·本站大部分文章转载于网络,如有侵权请留言告知,本站即做删除处理。
·本站法律法规类文章转载自[中国政府网(www.org.cn)],相关法律法规如有修订,请浏览[中国政府网]网站。
·本站转载的文章,不为其有效性,实效性,安全性,可用性等做保证。
·如果有什么问题,或者意见建议,请联系[网站管理员]
  原“浪人文章”和“浪人下载”网站已合并为“老若尔文章软件站”,域名:https://lre.cn
  本站使用【啊估文章软件站】网站系统    网站管理员留言簿〗〖捐助     闽ICP备08009617号