学习C#调用LazyCaptcha模块生成验证码的基本用法
创始人
2024-11-11 06:12:00
0

  LazyCaptcha是仿EasyCaptcha和SimpleCaptcha的.net开源图形验证码模块,其支持生成验证码及对应的静态图或动态图,还支持在图形中增加气泡、干扰线等噪音以提升图片自动识别难度。LazyCaptcha既能在B/S程序中使用(本文的原由即Admin.NET中使用LazyCaptcha生成验证码及动态图),也可以在C/S程序中调用。本文基于参考文献1-2中附带的Sample.Winfrom项目的源码,学习采用LazyCaptcha模块生成验证码的基本用法。
  生成验证码及对应图片主要使用CaptchaService类,在C/S程序中可以通过CaptchaServiceBuilder类创建并配置CaptchaService类对象示例,示例代码及主要配置说明如下所示:

 	CaptchaServiceBuilder          .New()          .CodeLength(options.CodeLength)          .CaptchaType((CaptchaType)options.CaptchaType)          .FontFamily(fontFamily)          .FontSize(options.ImageOption.FontSize)          .BubbleCount(options.ImageOption.BubbleCount)          .BubbleThickness(options.ImageOption.BubbleThickness)          .BubbleMinRadius(options.ImageOption.BubbleMinRadius)          .BubbleMaxRadius(options.ImageOption.BubbleMaxRadius)          .InterferenceLineCount(options.ImageOption.InterferenceLineCount)          .Animation(options.ImageOption.Animation)          .FrameDelay(options.ImageOption.FrameDelay)          .Width(options.ImageOption.Width)          .Height(options.ImageOption.Height)          .Quality(options.ImageOption.Quality)          .TextBold(options.ImageOption.TextBold)          .Build(); 
序号参数名称参数说明
1CaptchaType设置验证码内容类型,枚举值,主要包括中文汉字、数字、中文数字(小写)、中文数字(大写)、字母大小写、字母小写、字母大写、字母数字小写、字母数字大写、阿拉伯数字运算、中文数字运算等类型。
2CodeLength验证码内容长度,如果是数字运算,则为等号左侧的数字个数(测试时偶尔会出现数字个数小于内容长度的情况,暂时不清楚怎么回事)
3ExpirySeconds验证码过期秒数,生成的验证码要么存在内存中,要么存在Redis内,超出本属性设置的时间后即失效
4IgnoreCase对比验证码时是否忽略大小写
5Animation是否生成gif动态图,为false生成静态图片
6FontSize验证码内容字体大小
7FontFamily验证码内容字体名称,主要包括Actionj、Kaiti、Fresnel、Prefix、Ransom、Scandal、Epilog、Headache、Lexo、Progbot、Robot
8TextBold验证码内容是否加粗
9Width验证码图片宽度
10Height验证码图片高度
11BubbleCount验证码图片中的气泡数量
12BubbleThickness气泡边框厚度
13BubbleMinRadius气泡最小半径
14BubbleMaxRadius气泡最大半径
15InterferenceLineCount验证码图片中的干扰线数量
16FrameDelay生成gif图片时每帧的间隔,单位为毫秒,用此属性也可以计算帧率

  调用CaptchaService.Generate函数创建、存储、返回验证码及图片,调用函数时同步传入唯一标识作与验证码关联,用于存储验证码及后续调用Validate函数验证验证码。
  Generate函数返回CaptchaData类型数据,其中包括验证码唯一标识(传入的标识)、验证码内容(如果是数字运算则返回运算结果)、图片原始内容及Base64编码后的图片内容字符串。
在这里插入图片描述
  如果嫌麻烦,也可以使用默认设置创建CaptchaService对象实例并生成验证码。总体而言,LazyCaptcha使用简单方便,不论网页程序还是客户端程序都能快速集成使用。

参考文献:
[1]https://github.com/pojianbing/LazyCaptcha
[2]https://gitee.com/pojianbing/lazy-captcha/tree/master

相关内容

热门资讯

玩家攻略,牛牛房卡制作链接生肖... 您好!微信生肖系列/新大圣大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(生肖系列/新...
一分钟了解!牛牛房卡游戏平台加... 新荣耀/飞鹰互娱房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 ...
正版授权“在哪里买炸金花房卡哪... 炫酷大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来...
重大通报,牛牛房卡怎么获得九哥... 重大通报,牛牛房卡怎么获得九哥联盟/微信链接房卡购买渠道九哥联盟是一款非常受欢迎的游戏,咨询房/卡添...
一分钟了解!微信金花房卡怎么弄... 您好!微信芝麻大厅大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(芝麻大厅)大厅介绍:...
秒懂教程“可以开房炸金花微信房... 新西游牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:86909166许多玩家在游戏中会购买房卡...
科技实测!游戏微信牛牛房卡玄武... 微信游戏中心:玄武大厅房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或相关小程...
ia攻略/牛牛房卡制作链接卡卡... 卡卡娱乐是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...
给大家讲解“金花房卡微信链接怎... 新全游牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:160470940许多玩家在游戏中会购买房...
推荐一款!金花房卡制作链接烛龙... 今 日消息,烛龙大厅房卡添加微信33549083 苹果今日发布了 iOS 16.1 正式版更新,简单...
头条推荐!牛牛房卡游戏平台加盟... 光明联盟是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...
一分钟了解!牛牛房卡游戏平台加... 您好!微信荣耀乐娱大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(荣耀乐娱)大厅介绍:...
正版授权“可以一起创房的牛牛,... 美猴王牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:160470940许多玩家在游戏中会购买房...
ia攻略/金花房卡专卖店新众亿... 今 日消息,新众亿/皇豪互娱房卡添加微信33549083 苹果今日发布了 iOS 16.1 正式版更...
重大通报,牛牛房卡制作链接战皇... 战皇大厅房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 3、根...
重大通报,牛牛房卡官网新大海/... 微信游戏中心:新大海房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或相关小程序...
头条推荐!金花房卡制作链接趣游... 趣游联盟是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...
ia攻略/牛牛房卡批发平台新老... 您好!微信新老夫子大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(新老夫子)大厅介绍:...
ia实测“怎样创建微信金花链接... 新西游牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:160470940许多玩家在游戏中会购买房...
一分钟了解!金花充值房卡火狐大... 火狐大厅/新超圣房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 ...