asp.net 簡易生成注冊碼(數(shù)字+大小寫字母)
更新時間:2008年11月16日 01:53:30 作者:
注釋寫的很詳細,不做過多的描述了,希望能給初學(xué)者帶來一些幫助,同時也是自己知識的一個積累過程。
如果有哪里看不懂的,請留言哦
生成隨機碼類:SigowayRandom.cs
復(fù)制代碼 代碼如下:
using System;
namespace RongYi.Model.Common
{
/// <summary>
/// SigowayRandom 的摘要說明
/// </summary>
public class SigowayRandom
{
#region 獲取校驗碼
/// <summary>
/// 獲取校驗碼
/// </summary>
/// <returns>校驗碼字符數(shù)組</returns>
public static string[] GetCheckCode()
{
string[] strCheckCode = new string[4];
// 已系統(tǒng)時間毫秒為隨機種子
int nSeed = Convert.ToInt16(DateTime.Now.Millisecond);
Random random = new Random(nSeed);
// 產(chǎn)生0-9隨機數(shù)
strCheckCode[0] = Convert.ToString(random.Next(1, 10));
// 產(chǎn)生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 獲取字母,區(qū)分大小寫
/// <summary>
/// 獲取字母,區(qū)分大小寫
/// </summary>
/// <returns>大小寫字母</returns>
private static string GetLetter(Random random)
{
// 隨機數(shù)
int nChar = random.Next(65, 122);
// 非字母ASCII段
if (nChar >= 91 && nChar <= 96)
{
nChar -= 6;
}
return Convert.ToString((char)nChar);
}
#endregion
}
}
繪制校驗碼類:SigowayDraw.cs
復(fù)制代碼 代碼如下:
using System.Drawing;
using System.Drawing.Imaging;
using System.Web;
namespace RongYi.Model.Common
{
/// <summary>
/// SigowayDraw 的摘要說明
/// </summary>
public class SigowayDraw
{
#region 構(gòu)造方法
/// <summary>
/// 構(gòu)造方法
/// </summary>
public SigowayDraw() { }
#endregion
#region 畫校驗碼
/// <summary>
/// 畫校驗碼
/// </summary>
/// <returns>校驗碼</returns>
public string DrawString()
{
// 設(shè)置字體
Font drawFont = new Font("Arial", 10);
// 創(chuàng)建位圖元素
Bitmap objBitmap = new Bitmap(50, 20);
// 創(chuàng)建畫圖對象
Graphics objGraphics = Graphics.FromImage(objBitmap);
// 設(shè)置畫布背景色
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);
// 設(shè)置保存圖片路徑及名字
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
}
}
相關(guān)文章
asp.net中對象失去焦點時自動提交數(shù)據(jù) V2
一年多前,Insus.NET有寫過一篇 《對象失去焦點時自己動提交數(shù)據(jù)》,那一篇是依賴Linkbutton來做隱藏提交。是否有不用依賴Linkbutton方法呢? 答案是肯定的2012-11-11
.net中的session與cookies區(qū)別及使用方法
cookie數(shù)據(jù)存放在客戶的瀏覽器上,session數(shù)據(jù)放在服務(wù)器上,cookie不是很安全,別人可以分析存放在本地的COOKIE并進行COOKIE欺騙,考慮到安全應(yīng)當(dāng)使用session2013-04-04
一天精通asp.net的學(xué)習(xí)經(jīng)驗小結(jié)
一天精通asp.net的學(xué)習(xí)經(jīng)驗小結(jié)2010-02-02
wireshark抓取本地回環(huán)數(shù)據(jù)包和取出數(shù)據(jù)的方法
這篇文章主要介紹了wireshark抓取本地回環(huán)數(shù)據(jù)包和取出數(shù)據(jù)的方法,需要的朋友可以參考下2014-02-02
asp.net音頻轉(zhuǎn)換之.amr轉(zhuǎn).mp3(利用ffmpeg轉(zhuǎn)換法)
AMR轉(zhuǎn)MP3可實現(xiàn)將手機上的AMR錄音轉(zhuǎn)換成流行的MP3格式,以適用更廣泛的應(yīng)用。AMR的體積非常小,適用于存儲在手機中,當(dāng)我們想將在手機上的音頻上傳到網(wǎng)絡(luò),就需要將其轉(zhuǎn)換成MP3等流行的格式,本文就是介紹asp.net利用ffmpeg轉(zhuǎn)換法將.amr轉(zhuǎn).mp3的方法,下面來一起看看吧。2016-12-12

