[Hei.Captcha] Asp.Net Core 跨平台验证码实现
写在前面说起来比较丢脸。我们有个手机的验证码发送逻辑需要使用验证码,这块本来项目里面就有验证码绘制逻辑,.Net Framework的,使用的包是 (左边为CentOs运行结果,右为Windows)
折腾了一天多放弃了,决定重新写。 我看了市面上的各种验证码,使用第三方的,免费的都有很多限制,并随时有可能开始收费(用户量上去后就收费,俗称“养猪”); 有些比较大平台的已经开始收费或者即将收费(无可厚非,不点名);
综上,我决定自己绘制 选择图片绘制库GitHub上面我看到比较多星的是: SixLabors / ImageSharp dlemstra / Magick.NET mono / SkiaSharp 综合考虑后选择了:ImageSharp 官方文档:https://sixlabors.github.io/docs/ 成果Hei.Captcha一个.net core,跨平台的验证码生成工具包,基于ImageSharp。 中文泡泡验证码字母数字组合验证码表单Demo使用Install-Package Hei.Captcha /// <summary> /// 泡泡中文验证码 /// </summary> /// <returns></returns> public IActionResult BubbleCode() { var code = _securityCode.GetRandomCnText(2); var imgbyte = _securityCode.GetBubbleCodeByte(code); return File(imgbyte,"image/png"); } /// <summary> /// 数字字母组合验证码 /// </summary> /// <returns></returns> public IActionResult HybridCode() { var code = _securityCode.GetRandomEnDigitalText(4); var imgbyte = _securityCode.GetEnDigitalCodeByte(code); return File(imgbyte,"image/png"); } 高级参照Demo, 通过修改/丰富应用程序运行目录 总结滑块验证码、点击选择验证码、轨迹验证码等的实现时间成本,技术要求都比较高,并且各种防破解上面可能也需要花很多时间。综合需求考虑选择了个性价比比较高的“土味”验证码绘制方案; 本验证码我自己也没有去尝试去破解过,不知道破解难度,有兴趣的同学试试,能告诉我结果就最好了[比心] 验证码肉眼辨认上面,可能稍难体验差了点。自己修改下泡泡的数量,绘制的参数改改,代码不多,都有备注。 希望能帮到大家,也希望大家积极PR,丰富验证码样式。 源码喜欢留个星~ https://github.com/gebiWangshushu/Hei.Captcha 参考https://sixlabors.github.io/docs/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.net防止SQL注入方法
- asp.net-mvc-3 – 使用Ninject 2.2的MVC 3依赖注入将全局操
- asp.net <%$...%>语法
- asp.net – <%=%>和<%#%>之间有什么区别?
- ASP.NET的Visual Studio 2008性能分析器问题
- asp.net-mvc – 如何在多个Asp.net MVC应用程序中使用通用布
- asp.net-mvc – 从控制器内部使用Html.ActionLink和Url.Act
- ASP.NET 或C# 中ASCII码含中文字符的编解码处理
- asp.net – System.InvalidOperationException:堆栈为空
- 动态填充DropDownList不会在回发ASP.net上保留值c#
- ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MV
- asp.net – 如何在.net WebApi2应用程序中使用OA
- asp.net-mvc – 在EC2实例上运行的MVC应用程序无
- asp.net – 如何将转发器中Item的客户端ID传递给
- asp.net-mvc – 如何在版本信息中包含静态内容
- asp.net-mvc – 无法加载文件或程序集Microsoft.
- AppSetting配置工具类
- azure – 当用户存储在外部身份提供程序服务中时
- razor – 从ASP.net Core 2中的视图访问自定义Ap
- asp.net – 上下文菜单没有“添加脚手架”或“添