验证码的设计与实现.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
验证码的设计与实现   摘要:针对当前黑客技术的泛滥,信息应用系统正面对着越来越多的攻击,严重地威胁着应用系统的信息安全的问题,提出了使用图片验证码的方法来阻止黑客攻击,并利用C#语言实现了验证码方法。   关键词:黑客;信息系统;信息安全;验证码;C#   中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)26-6445-02   Design and Implementation of Verification Codes   ZHANG Xiang-feng   (Information Engineering Department, Yellow River Conservancy Technical Institute, Kaifeng 475000, China)   Abstract: Along with hacking techniques is widely used, the application of information system is facing more and more attack, seriously threating to use the information system security, giving a method that is picture verification codes to prevent hackers attacks, using the language of C# Implementing the method.   Key words: hacking; information system; verification codes; C#; information system security   随着信息技术的发展,各种信息系统在各行各业得到了广泛的应用,同时黑客技术越来越泛滥,人们很容易从网上获取黑客技术和工具,进而非法入侵信息系统。对于非法登录系统,一般采用“穷举法”,“穷举法”类黑客工具由软件产生登录名和密码,然后自动提交,不能登录则产生下一组用户名和密码,重新登录,直到进入系统为止。只要入侵者耐心等待,在有限的时间内都会找到几组合法帐户,如果采用一些辅助工具,则可加快破解速度。为了防止非法用户登录系统,现在一般采用验证码技术。   1 设计与实现   1.1 验证码原理与设计   穷举法攻击最重要的条件是:输入的信息在攻击期间内不能变化,相对静止,比如用户名和密码都不会变化。这样就可以在所有字母组合中不断地试,直到找到一个成功的组合。验证码能够防止非法登录,主要原因在于,在登录验证时加入了动态的元素,验证码是不断变化的,每登录一次,验证码就变一次,破坏了穷举法攻击的条件,防止了黑客非法登录,提高了系统的安全性。   验证码是不断变化的,所以要设计验证码首先要产生随机数,这些随机数一般包括字符、数字;第二步,把第一步产生的随机数,画成图片,因为,如果验证码以文本形式出现,攻击者可以轻易地提取文本验证码,然后自动输入,这种验证码对安全性没有任何帮助,所以必须画成图片;第三步,在图片中加上噪音。以图片形式出现,攻击者还是可以通过图片识别技术获取验证码,加上干扰噪音后,就增加了图片的识别难度,有效保证系统安全。   1.2 验证码实现   我们需要2个函数来实现验证码:产生随机数函数getRandomNum()、产生图片函数getPicture(),在画图中包含图片干扰。   1) 产生随机数   程序语言只提供给我们产生数字的随机数,而验证码里面包括字符和数字,因此需要在这两者间建立映射,具体代码如下:   private string getRandomNum ()   {   string checkCode = string.Empty;   //可能的随机数字或字符数组   string vChar= 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,   i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H   ,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z;   string[] vcArray = vChar.Split(,);   int temp = -1;//记录上次随机数值,尽量避免产生几个一样的随机数   Random rand = new Random();   //用循环产生随机数字或字符,放到checkCode里   for (int i = 1; i 4; i++)   {   if (temp != -1)   {/

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档