asp.net 简易生成注册码(数字+大小写字母)

所属分类: 网络编程 / ASP.NET 阅读数: 1514
收藏 0 赞 0 分享

如果有哪里看不懂的,请留言哦

生成随机码类:SigowayRandom.cs 

复制代码 代码如下:

using System;
namespace RongYi.Model.Common
{
/// <summary>
/// SigowayRandom 的摘要说明
/// </summary>
public class SigowayRandom
{
#region 获取校验码

/// <summary>
/// 获取校验码
/// </summary>
/// <returns>校验码字符数组</returns>
public static string[] GetCheckCode()
{
string[] strCheckCode = new string[4];

// 已系统时间毫秒为随机种子
int nSeed = Convert.ToInt16(DateTime.Now.Millisecond);
Random random = new Random(nSeed);

// 产生0-9随机数
strCheckCode[0] = Convert.ToString(random.Next(1, 10));
// 产生a-z、A-Z随机字母
strCheckCode[1] = SigowayRandom.GetLetter(random);
strCheckCode[2] = Convert.ToString(random.Next(1, 10));
strCheckCode[3] = SigowayRandom.GetLetter(random);

// 返回校验码
return strCheckCode;
}

#endregion

#region 获取字母,区分大小写

/// <summary>
/// 获取字母,区分大小写
/// </summary>
/// <returns>大小写字母</returns>
private static string GetLetter(Random random)
{
// 随机数
int nChar = random.Next(65, 122);

// 非字母ASCII段
if (nChar >= 91 && nChar <= 96)
{
nChar -= 6;
}

return Convert.ToString((char)nChar);
}

#endregion
}
}


绘制校验码类:SigowayDraw.cs
复制代码 代码如下:

using System.Drawing;
using System.Drawing.Imaging;
using System.Web;

namespace RongYi.Model.Common
{
/// <summary>
/// SigowayDraw 的摘要说明
/// </summary>
public class SigowayDraw
{
#region 构造方法

/// <summary>
/// 构造方法
/// </summary>
public SigowayDraw() { }

#endregion

#region 画校验码

/// <summary>
/// 画校验码
/// </summary>
/// <returns>校验码</returns>
public string DrawString()
{
// 设置字体
Font drawFont = new Font("Arial", 10);
// 创建位图元素
Bitmap objBitmap = new Bitmap(50, 20);
// 创建画图对象
Graphics objGraphics = Graphics.FromImage(objBitmap);
// 设置画布背景色
objGraphics.Clear(Color.White);
// 获取随机字符串
string[] strDrawString = SigowayRandom.GetCheckCode();

// 画字符串
objGraphics.DrawString(strDrawString[0], drawFont, new SolidBrush(Color.Purple), 1, 2);
objGraphics.DrawString(strDrawString[1], drawFont, new SolidBrush(Color.Green), 12, 2);
objGraphics.DrawString(strDrawString[2], drawFont, new SolidBrush(Color.Red), 24, 2);
objGraphics.DrawString(strDrawString[3], drawFont, new SolidBrush(Color.SteelBlue), 35, 2);

// 画干扰线
objGraphics.DrawLine(Pens.Silver, 5, 10, 40, 3);
objGraphics.DrawLine(Pens.Gray, 10, 5, 45, 15);
objGraphics.DrawLine(Pens.HotPink, 15, 20, 30, 10);
objGraphics.DrawLine(Pens.LightPink, 10, 15, 35, 20);

// 把图像画到位图对象中
objGraphics.DrawImage(objBitmap, 0, 0);

// 设置保存图片路径及名字
string strFile = HttpRuntime.AppDomainAppPath.ToString() + "/Resource/img/CheckCode.gif";

// 输出文件
objBitmap.Save(strFile, ImageFormat.Gif);

// 连接校验码字符串
string strCheckCode = string.Empty;
foreach (string strTemp in strDrawString)
{
strCheckCode += strTemp;
}

// 返回校验码
return strCheckCode;
}

#endregion
}
}

更多精彩内容其他人还在看

ADO.NET实用经验汇总

这篇文章主要介绍了ADO.NET实用经验汇总,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

DataReader不能使用using的详细示例

这篇文章主要介绍了DataReader不能使用using的详细示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

asp.net MVC 在Controller控制器中实现验证码输出功能

这篇文章主要介绍了asp.net MVC 在Controller控制器中实现验证码输出功能,本文给大家介绍非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

.NET连接池的问题详解

这篇文章主要介绍了.NET连接池的问题详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

ASP.NET Core 3框架揭秘之 异步线程无法使用IServiceProvider问题

这篇文章主要介绍了ASP.NET Core 3框架揭秘之异步线程无法使用IServiceProvider问题,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

.Net Core3.0 WEB API中使用FluentValidation验证(批量注入)

这篇文章主要介绍了.Net Core3.0 WEB API中使用FluentValidation验证(批量注入),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

.NET Core3.1发布(翻译)

这篇文章主要介绍了.NET Core3.1发布(翻译),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

ASP.NET Core3.X 终端中间件转换为端点路由运行详解

这篇文章主要介绍了ASP.NET Core3.X 终端中间件转换为端点路由运行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

浅谈ASP.NET Core的几种托管方式

这篇文章主要介绍了浅谈ASP.NET Core的几种托管方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

ASP.NET Core中快速构建PDF文档的步骤分享第1/2页

这篇文章主要给大家介绍了关于ASP.NET Core中快速构建PDF文档的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用ASP.NET Core具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享
查看更多