手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >asp.net 简易生成注册码(数字+大小写字母)
asp.net 简易生成注册码(数字+大小写字母)
摘要:如果有哪里看不懂的,请留言哦生成随机码类:SigowayRandom.cs复制代码代码如下:usingSystem;namespaceRon...

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

生成随机码类: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

}

}

【asp.net 简易生成注册码(数字+大小写字母)】相关文章:

asp.net计算网站访问量常用代码

asp.net 数据访问层基类

asp.net不用设置iis实现url重写

asp.net UpdatePanel的简单用法

asp.net 生成曲线图实现代码

asp.net在水晶报表中显示条形码

asp.net neatUpload 支持大文件上传组件

asp.net OleDbCommand 的用法

asp.net用cookie保存用户密码自动登录

asp.net中使用cookie传递参数的方法

精品推荐
分类导航