当前位置: 首页 > 科技观察

C#联通新验证码识别的实现

时间:2023-03-13 21:17:08 科技观察

之前写过一篇关于联通充值卡自动充值实现的文章。最近,我发现中国联通官网改版了。随便看了看,发现新版本的验证码和之前的不一样了。我花了一些时间研究他的识别码。其目前的验证码如下:现描述识别步骤1、转换灰度图2、清除2px边框3、划分验证码个数(4)4、生成字库。经过以上步骤,可以得到如下效果。以下是部分实现代码;//bitmap=ud.ClearNoise(128,1);Stringchkcode="";Bitmap[]arrmap=ud.SplitImg(bitmap,4,1);foreach(Bitmapiteminarrmap){Stringstr=ud.GetCodebybitmap(item,128);BooleanisEques=false;foreach(Stringstrssincode){String[]a=strss.Split(':');if(str==a[1]){chkcode+=a[0];isEques=true;break;}}if(!isEques){StringstrCurrent="";doublemax=0.0;foreach(Stringstrssincode){intlen1,len2,min,count=0;String[]a=strss.Split(':');len1=a[1].Length;len2=str.Length;min=len1;if(min>len2){min=len2;}for(inti=0;i