96SEO 2026-02-23 12:55 9
博客项目中调用VerifyCode类生成验证码#xff0c;该类位于App.Framwork项目中#xff0c;命名空间为App.Framwork…

开源博客项目Blog中的后台管理登录界面中支持输入验证码如下图所示本文学习并记录项目中验证码的生成及调用方式。
博客项目中调用VerifyCode类生成验证码该类位于App.Framwork项目中命名空间为App.Framwork.Generate。
VerifyCode类主要包括十几种参数设置两种验证码生成方式随机字符串问题型。
主要参数设置如下所示
序号名称类型说明1SetLengthint主要用于随机字符串型的验证码设置随机字符串的长度默认值为42SetVerifyCodeTextstring保存生成的验证码3SetAddLowerLetterbool设置验证码中是否包含小写字母默认值为true4SetAddUpperLetterbool设置验证码中是否包含大写字母默认值为true5SetFontSizeint设置验证码的字体大小用于生成验证码图片默认值为186SetFontColorColor设置验证码的字体颜色用于生成验证码图片默认值为蓝色7SetFontFamilystring设置验证码的字体名称用于生成验证码图片默认值为Verdana8SetBackgroundColorColor设置验证码图片的背景色用于生成验证码图片默认值为AliceBlue9SetIsBackgroundLinebool设置验证码图片中是否包含线条以便提升识别难度10SetForeNoisePointCountint设置验证码图片中的前景噪点数量以便提升识别难度默认值为2但实际从代码来看增加的比设置的多11SetRandomAngleint设置验证码图片中单个字符的最大旋转角度主要用于随机字符串型的验证码默认值为4012SetIsRandomColorbool设置是否随机生成验证码的字体颜色默认值为true效果是每次生成的验证码图片中的字体颜色都是随机生成13SetWithint设置验证码图片的宽度14SetHeightint设置验证码图片的高度15VerifyCodeResultstring保存问题型验证码的答案
随机字符串型验证码的生成函数为GetVerifyCodeText其生成步骤如下
1创建字符池首先加入1-9的数字再根据设置分别加入大写字母和小写字母这里特地将O和o去掉了避免难以识别
2根据验证码长度逐一从字符池中随机取字符用后即弃使用StringBuilder实现用后直接移除指定位置的内容即可最后返回完整的验证码字符串。
1如果提供有问答对集合即函数输入参数questionList默认为null则从集合中随机抽取一组问答对并返回
2如果没有提供问答对集合则随机生成100以内的加减乘除算式并保存计算结果然后返回算式和结果的问答对。
验证码图片的生成函数为GetVerifyCodeImage其生成步骤如下
1创建空图片图片高度大致为1.6倍字体大小宽度为验证码长度倍字体大小填充背景色
2增加前景噪点噪点数量为图片宽度乘以SetForeNoisePointCount绘制方式为将图片随机像素点位置的颜色换为字体颜色
3增加背景噪点分为两部分首先是噪点数量为2倍图片宽度绘制方式为在图片随机位置绘制宽和高均为1的矩形。
接着按设置增加干扰线条绘制方式是根据随机生成两侧坐标绘制线条
4从左向右逐个绘制验证码的字符如果需要旋转字符则随机生成旋转角度旋转坐标后再绘制字符最后返回图片内容
博客项目中LoginController类调用验证码生成类该类位于App.Hosting项目中命名空间为App.Hosting.Areas.Main.Controllers具体调用函数为ValidateCode函数返回验证码图片并将验证码内容放在HttpContext.Session中返回前端调用页码则是Index.cshtml。
从上面的分析可以看出开源博客项目Blog中提供的验证码生成类相对独立实现逻辑清晰易懂扩展起来也比较方便能够按需放在其它项目或程序中。
[1]https://gitee.com/miss_you/Blog
[2]https://www.donet5.com/Home/Doc
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback