基于Microsoft VisualStudio集成开发环境下的C# 技术验证码识别技术研究与实现

基于Microsoft VisualStudio集成开发环境下的C# 技术验证码识别技术研究与实现

基于Microsoft VisualStudio集成开发环境下的C# 技术验证码识别技术研究与实现

摘 要:现如今,验证码作为国内常见的辅助安全手段,对于网站安全而言,是至关重要的。虽然验证码的实际安全问题,远远比不上网网站应用中的多样化实际问题,然而,亦不能过于小觑。实际上,如果在某些情况下,能够不通过验证码,就能将传统的手动,转化为自动,这对于网站安全的实际检测工作而言,是至关重要的。

验证码的基本含义为:能够将计算机与人类进行明确区分的具体图灵测试,也被称之为CAPTCHA。实际上,验证码的实际性质为公共全自动程序,能够将计算机与人类进行明确区分。通常情况下,在实际CAPTCHA测试过程中,计算机往往会通过程序,生成特定问题,要求用户进行解答。然而,对于特定问题而言,其设定过程以及评判过程均能够由计算机进行完成,然而,解答过程却必须是由人类亲自动手去操作。实际上,由于计算机还没有找到去解答CAPTCHA提出的特定问题,所以能够回答特殊问题的,并不是计算机,而一定是人类。这毋庸置疑。

本验证码识别技术研究与实现使用Microsoft VisualStudio集成开发环境下的C# 技术,力求运用图片预处理、去噪、分割、对比,简单了解图像分析技术以及简单的验证码识别。

关键词:验证码识别技术研究与实现;C#; 

Verification code identification technology research and implementation

Abstract: the authentication code, as a kind of auxiliary safety means has a special status in the Web security, authentication code and number of holes in Web applications than seems trivial, but a small leak will sink a great ship, some time if we can bypass the authentication code, you can put the manual to automatic, for Web security testing has a lot of help.

Automatic distinguish between Computers and Humans Turing test (English: Captcha's full-automatic public turing test in Chinese is used to distinguish between computers and humans.), commonly known as the authentication code, is a computer is a distinction between users and Public automatic program.In CAPTCHA test, as the server will automatically generate a problem to solve by the user.This problem can be generated by computer and judgment, but must only humans can solve.Because the computer cannot solve CAPTCHA question, answered the question so the user can be considered to be human.

Research and implementation of the verification code identification technology using Microsoft VisualStudio C# technology, the integrated development environment to use image binarization, denoising, segmentation, classification, simple image analysis technology and simple verification code identification.

Key words: verification code identification technology research and implementation;C#;

目  录

一、概述 4

(一)研究背景 4

(二)研究意义 5

二、开发工具及相关技术介绍 6

(一)开发环境 6

1、Microsoft Visual Studio2017 6

2、Winform窗口程序............................................................................................. ..8

3、Winform主要特点................................................................................................8

三、需求分析 9

(一)系统简介 9

(二)可行性分析 9

1、倾斜矫正技术 9

2、图像质量影响 9

3、安全悭性分析 10

四、系统详细设计 10

(一)系统目标分析 10

(二)系统需求分析 11

(三)系统功能模块图 11

五、系统主要功能界面和代码实现 11

(一)选择要识别的图片...............................................................................................19

(二)图像的灰度化.......................................................................................................19

(三)图像去噪................................................................................................................19

(四)图像的二值化.......................................................................................................19

(五)图像的分割.............................................................................................................19

(六)图像字符逐个对比.................................................................................................19

(七)输出最终识别的图像字符...................................................................................19

(八)界面..................................................................................................................19

六、结 论 21

七、参考文献 22

致 谢 23

一、论文的概述

(一)研究背景

现如今,中国社会正在不断蓬勃发展,与此同时,国内经济体制正在日益完善。在这种情况下,多样化领域正在不断利用现代化的具体手段,切实提升行业实际服务质量,从而切实提升行业实际工作效率。故此,互联网行业正在面临空前的挑战,不仅应该严格要求自身的行政能力,与此同时,应该针对自身的实际管理质量,提出更为严苛的要求。在此情况下,必须建立相对完善的信息管理相关系统。故此,验证码应运而生。事实上,针对验证码的实际研究工作,是为了学习用来分析图像的技术,以及用来实现验证码的自动化验证。用来识别验证码的技术是光符字符识别技术,即OCR技术,就是将图片中的文字识别为电子流的技术。这项技术目前已经得到广泛应用,比如扫描识别,身份证识别,银行卡号识别,车牌识别等等。验证码识别也是其中一种,也是难度比较大的一种。

验证码是为了去防止公司去大量注册的,在生活中用人的眼睛去看验证码都不容易。验证码,意思就是一个图像中掺杂着数字或字母,而且还会在图像中加上另外德干扰因素,用户再去识别其中的验证码信息,再输入提取到的验证码信息从而提交上去,让网站去验证,验证成功后才能使用。使用了验证码,给我们提供了很多帮助。在我们的生活中,很多网站和很多APP登录的界面上都使用了验证码,输入正确才能够登录。这很好的提高了我们的安全性,保护了我们个人的隐私。验证码无处不在。

计算机技术在人类进步方面有突出贡献,尤其是利用计算机实现自动化进程。对于每一个网络使用者来说,利用程序识别二维码,不但准确,还能不被二维码困扰,比如说12306网站之类的,当你瞪大眼睛也看不到验证码上的玄机,二维码自动识别将方便的解决这个问题。

网络用户的验证码识别技术研究与实现是一项琐碎而又复杂的工作,工作量很大,但不允许出错。随着当今互联网规模不断变大,互联网人员数量的增加,互联网系统也变得越来越多。最初的单个的系统,我们只需要一个登录界面即可,随着电子信息化的升级,系统会越来越多,用户需要登录操作的系统也越来越多,这样就给公司和用户带来很多不便,传统的数据信息管理已经不适合现代化互联网的发展了,实现互联网验证码识别技术,在实际研究过程中,所实现的规范化以及自动化,对于互联网行业管理工作而言,都是至关重要的。

采用计算机进行工资的计算和发放,不仅能够保证系统登录准确无误,还可以利用平台优势,对数据规范化,便于后期管理和统计。同若能实现互联网验证码识别技术研究与实现的自动化,则对于互联网行业管理工作而言,必能实现科学化以及正规化,从而与时代齐头并进。

本课题所研究的单验证码识别技术与实现,将通过图片除杂、彩色变黑白、切片、逐个对比等图像技术,来分析处理验证码,并终实现图像数字的识别,为用户提供便利,为访问网络节省时间,并自动进行分析和处理,服务于其它网站。总之,本系统所实现的验证码识别技术研究与实现功能基本上能够满足用户验证码识别技术研究与实现的需求,给互联网管理部门带来很大的方便。

(二)研究意义

根据宏观的角度出发,门户的本质即为应用框架,实际上,其将多样化应用系统以及多样化数据资源,通过相应的整合工作,全部归于特定的信息管理平台,与此同时,制作统一的界面,呈现给多样化用户,从而切实保障互联网能够以最快的速度,面对客户、互联网对内部用户和互联网对互联网的信息通道,使互联网能够释放存储在互联网内部和外部的各种信息。

验证码出现的目的就是反机器提交和防止识别,所以识别和反识别之间是一对矛与盾的关系,此强彼弱,你来我往。验证码识别技术中,关键技术点其实并不在于OCR,而是在于图片清理,能从洗图片中提取到有用的图片特征,清洗掉杂质。而验证码本身为了防止OCR,对字形做了很多干扰,一个好的清理算法能减少干扰,显著提高识别率。当然,由于验证码本身的特征,没有任何算法是可以适应所有验证码类型的,做到100%准确无误的识别率也是不太可能的,有些验证码人都很难区分,机器也不一定能做到。所以,很多时候,不同的验证码类型,不同的场景,需要作出不同的图片清理。虽然无法立即穷举所有验证码场景和类型,但通过可扩展的插件支持,通过自行编写图片清理的处理代码,或组合不同处理代码,来满足不同人的处理需求,解决不同场景问题。

验证码技术是一种反自动化技术。本质上就是来阻止或者中断自动化操作。以前受宽带或者网络环境的影响,大量的访问会导致服务器网站瘫痪。现阶段这些已经不是主要的问题了,但是验证码却没有与之一起消失,势必影响用户的网络体验。验证码识别技术正是解决这个问题,提高用户上网的舒适度。

迄今为止,验证码应用最广泛的是带有字符的图像验证码,用户的背景中的文化与知识的差异不会对它有所影响,并且想要通过暴力去破解它是很困难的。它使用当今流行的编程设计语言,产生一个带有数字或者字母的图片这也很简单。为了增加识别验证码的难度,往往会在图片生成的时候加入许多干扰元素,例如背景,字符歪斜,噪声,字符粘连等干扰元素。这些干扰元素都会对验证码的识别产生一定的影响,所以在识别验证码图像之前,需要对图像进行处理。

参考文献

[1]王龙,李韬伟,杨振发.游戏引擎研究与分析[J].软件导刊,2018,17(02):5-7.

[2]孙中廷.基于C#动态生成图像验证码的研究与实现[J].福建电脑,2017,33(12):124-125.

[3]邵志强. 对话系统数据预处理模块的设计与实现[D].北京交通大学,2017.

[4]汪洋,许映秋,彭艳兵.基于KNN技术的校内网验证码识别[J].计算机与现代化,2017(02):93-97.

[5]朱莹玲. 粘连字符验证码的识别研究[D].南京理工大学,2017.

[6]石祥堃. 基于Coco2d-X游戏引擎的群聚效应研究与实现[D].南京邮电大学,2016.

[7]陈丽萍.游戏引擎技术基础[J].安徽电子信息职业技术学院学报,2016,15(04):29-32.

[8]钮冬艳.我国游戏引擎产业的发展与未来[J].现代交际,2015(12):31.

[9]马超,马佳琳.基于Lua动态脚本语言Cocos2d-x应用开发的技术研究[J].软件工程师,2015,18(08):29-31.

[10]王异帆. 基于Cocos2d-x游戏引擎的塔防类手机游戏框架设计与实现[D].华中师范大学,2015.

[11]马相芬.基于C#的验证码的绘制[J].电脑知识与技术,2015,11(09):108-109.

[12]马晨阳. 基于coco2d-x引擎的ARPG类手机游戏的设计与实现[D].华南理工大学,2015.

[13]王丽君. 基于Android平台的手机游戏的研究与开发[D].长安大学,2014.

[16]许升. 基于Android的手机游戏引擎的设计与实现[D].西安电子科技大学,2013.

[17]刘佳.用C#实现随机验证码[J].电脑编程技巧与维护,2012(15):67+73.

[18]李继武.利用C#语言自动生成验证码图像的研究[J].信息系统工程,2011(11):142-143.

[19]徐磊,妙全兴,范柳青.3D游戏引擎的技术基础[J].科技信息,2011(29):528-529.

[20]胡钢铃. 游戏引擎中的Al系统的设计与实现[D].北京交通大学,2011.

[21]刘佳.C#生成网站验证码[J].福建电脑,2011,27(03):169+157.

[22]王玉贤.基于C#的干拢性验证码的设计与研究[J].软件,2011,32(02):59-60+74.

[23]牛炎.运用C#图形编程技术实现验证码技术[J].电脑知识与技术,2010,6(30):8527-8529.

[24]田太平.基于C#的图片验证码技术[J].电脑编程技巧与维护,2010(20):108-109.

[25]文晓阳,高能,夏鲁宁,荆继武.高效的验证码识别技术与验证码分类思想[J].计算机工程,2009,35(08):186-188+191.

[26]陈珊,乔孟丽.基于C#验证码的实现[J].网络安全技术与应用,2007(05):58-59.

[27]石晓旻. 游戏引擎扩展脚本技术的研究及实现[D].电子科技大学,2005.


暂时没有评论

真实

多重认证,精挑细选的优质资源 优质老师。

安全

诚实交易,诚信为本。

保密

所有交易信息,都为您保密。

专业

10年专业经验,10年来帮助无数学子。