当前位置: 移动技术网 > IT编程>开发语言>.net > asp.net 简易生成注册码(数字+大小写字母)

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

2018年04月19日  | 移动技术网IT编程  | 我要评论

夜叉乐队王乐,windows8.1 激活,换妻换上瘾

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

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网