src/Czar.Cms.Core/Helper/CaptchaHelper.cs
(开头部分) 9KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
/**
*┌──────────────────────────────────────────────────────────────┐
*│ 描 述:验证码帮助类 参考自:汪宇杰博客 https://edi.wang/post/2018/10/13/generate-captcha-code-aspnet-core
*│ 作 者:yilezhu
*│ 版 本:1.0
*│ 创建时间:2019/1/21 21:51:22
*└──────────────────────────────────────────────────────────────┘
*┌──────────────────────────────────────────────────────────────┐
*│ 命名空间: Czar.Cms.Core.Helper
*│ 类 名: CaptchaHelper
*└──────────────────────────────────────────────────────────────┘
*/
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Text;
namespace Czar.Cms.Core.Helper
{
public static class CaptchaHelper
{
public static string Letters { get; set; } = "2346789ABCDEFGHJKLMNPRTUVWXYZ";
public static int CodeLength { get; set; } = 4;
public static string GenerateCaptchaCode()
{
var rand = new Random();
var maxRand = Letters.Length - 1;
var sb = new StringBuilder();
for (var i = 0; i < CodeLength; i++)
{
var index = rand.Next(maxRand);
sb.Append(Letters[index]);
}
return sb.ToString();
}
public static CaptchaResult GetImage(int width, int height, string captchaCode, bool drawBezier = false)
{
using (var baseMap = new Bitmap(width, height))
using (var graph = Graphics.FromImage(baseMap))
{
var rand = new Random();
graph.Clear(GetRandomLightColor());
DrawCaptchaCode();
DrawDisorderLine();
AdjustRippleEffect();
var ms = new MemoryStream();
baseMap.Save(ms, ImageFormat.Png);
return new CaptchaResult
{
后面还有 172 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
