QSMP.Utility/Security/VerifyCode.cs
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
namespace QSMP.Utility.Security
{
/// <summary>
/// 验证码生成类。
/// </summary>
public class VerifyCode
{
private string _text;
private byte[] _image;
#region 公有属性
/// <summary>
/// 验证码
/// </summary>
public string Text
{
get { return _text; }
set { _text = value; }
}
/// <summary>
/// 验证码图片(字节数组)
/// </summary>
public byte[] Image
{
get { return _image; }
set { _image = value; }
}
#endregion
public VerifyCode()
{
GetVerifyCode();
}
private void GetVerifyCode()
{
int codeW = 80; //画布宽
int codeH = 30; //画布高
int fontSize = 16;
string chkCode = string.Empty;
//颜色列表,用于验证码、噪线、噪点
Color[] color = { Color.Black, Color.Red, Color.Blue, Color.Green, Color.Orange, Color.Brown, Color.Brown, Color.DarkBlue };
//字体列表,用于验证码
string[] font = { "Times New Roman" };
//验证码的字符集,去掉了一些容易混淆的字符
char[] character = { '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'd', 'e', 'f', 'h', 'k', 'm', 'n', 'r', 'x', 'y', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'R', 'S', 'T', 'W', 'X', 'Y' };
Random rnd = new Random();
//生成验证码字符串
for (int i = 0; i < 4; i++)
{
chkCode += character[rnd.Next(character.Length)];
}
this._text = chkCode;
//创建画布
Bitmap bmp = new Bitmap(codeW, codeH);
后面还有 32 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
