ASP.NET随机码生成示例
点击次数:19 次 发布日期:2008-11-26 11:33:59 作者:源代码网
|
源代码网推荐 源代码网推荐 实现: 源代码网推荐 添加命名空间 源代码网推荐 源代码网推荐 using System.Drawing; 源代码网推荐 using System.Drawing.Imaging; 源代码网推荐 using System.Drawing.Drawing2D; 源代码网推荐 生成页代码 源代码网推荐 源代码网推荐 using System; 源代码网推荐 using System.Data; 源代码网推荐 using System.Configuration; 源代码网推荐 using System.Collections; 源代码网推荐 using System.Web; 源代码网推荐 using System.Web.Security; 源代码网推荐 using System.Web.UI; 源代码网推荐 using System.Web.UI.WebControls; 源代码网推荐 using System.Web.UI.WebControls.WebParts; 源代码网推荐 using System.Web.UI.HtmlControls; 源代码网推荐 using System.Drawing; 源代码网推荐 using System.Drawing.Imaging; 源代码网推荐 using System.Drawing.Drawing2D; 源代码网推荐 源代码网推荐 public partial class getRandImg : System.Web.UI.Page 源代码网推荐 { 源代码网推荐 protected void Page_Load(object sender, EventArgs e) 源代码网推荐 { 源代码网推荐 //生成随机码图片 源代码网推荐 SetValidateCode(); 源代码网推荐 //生成页面不保存到cache 源代码网推荐 Response.Cache.SetNoStore(); 源代码网推荐 } 源代码网推荐 源代码网推荐 //设置验证码 源代码网推荐 private void SetValidateCode() 源代码网推荐 { 源代码网推荐 //新建位图 源代码网推荐 Bitmap newBitmap = new Bitmap( 源代码网推荐 71, 源代码网推荐 23, 源代码网推荐 PixelFormat.Format32bppArgb 源代码网推荐 ); 源代码网推荐 //从位图获得绘图画面 源代码网推荐 Graphics g = Graphics.FromImage(newBitmap); 源代码网推荐 //随机数生成器 源代码网推荐 Random r = new Random(); 源代码网推荐 //绘图画面清空 源代码网推荐 g.Clear(Color.White); 源代码网推荐 //绘图画面划线干扰 源代码网推荐 for (int i = 0; i < 50; i++) 源代码网推荐 { 源代码网推荐 int x1 = r.Next(newBitmap.Width); 源代码网推荐 int x2 = r.Next(newBitmap.Width); 源代码网推荐 int y1 = r.Next(newBitmap.Height); 源代码网推荐 int y2 = r.Next(newBitmap.Height); 源代码网推荐 g.DrawLine(new Pen( 源代码网推荐 Color.FromArgb(r.Next())), 源代码网推荐 x1, 源代码网推荐 y1, 源代码网推荐 x2, 源代码网推荐 y2 源代码网推荐 ); 源代码网推荐 } 源代码网推荐 //绘图画面点数干扰 源代码网推荐 for (int i = 0; i < 100; i++) 源代码网推荐 { 源代码网推荐 int x = r.Next(newBitmap.Width); 源代码网推荐 int y = r.Next(newBitmap.Height); 源代码网推荐 newBitmap.SetPixel( 源代码网推荐 x, 源代码网推荐 y, 源代码网推荐 Color.FromArgb(r.Next()) 源代码网推荐 ); 源代码网推荐 } 源代码网推荐 //获得随机字符串(5位长度) 源代码网推荐 string value = GenerateRandom(5); 源代码网推荐 //随机字符串赋值给Session 源代码网推荐 Session["RandCode"] = value; 源代码网推荐 //定义图片显示字体样式 源代码网推荐 Font font = new Font( 源代码网推荐 "Arial", 源代码网推荐 14, 源代码网推荐 FontStyle.Bold 源代码网推荐 ); 源代码网推荐 Random rr = new Random(); 源代码网推荐 int yy = rr.Next(1, 4); 源代码网推荐 //定义随机字符串显示图片刷子 源代码网推荐 LinearGradientBrush brush = new LinearGradientBrush( 源代码网推荐 new Rectangle(0, 0, 71, 23), 源代码网推荐 Color.Red, 源代码网推荐 Color.Blue, 源代码网推荐 1.2f, 源代码网推荐 true 源代码网推荐 ); 源代码网推荐 g.DrawString(value, font, brush, 2, yy); 源代码网推荐 g.DrawRectangle(new Pen( 源代码网推荐 Color.Silver), 源代码网推荐 0, 源代码网推荐 0, 源代码网推荐 70, 源代码网推荐 22 源代码网推荐 ); 源代码网推荐 System.IO.MemoryStream ms = new System.IO.MemoryStream(); 源代码网推荐 newBitmap.Save(ms, ImageFormat.Gif); 源代码网推荐 //输出图片 源代码网推荐 Response.ClearContent(); 源代码网推荐 Response.ContentType = "image/gif"; 源代码网推荐 Response.BinaryWrite(ms.ToArray()); 源代码网推荐 } 源代码网推荐 源代码网推荐 //常量集 源代码网推荐 private static char[] constant ={ 源代码网推荐 "0","1","2","3","4","5","6","7","8","9", 源代码网推荐 "a","b","c","d","e","f","g","h","i","j", 源代码网推荐 "k","l","m","n","o","p","q","r","s","t", 源代码网推荐 "u","v","w","x","y","z" 源代码网推荐 }; 源代码网推荐 源代码网推荐 源代码网推荐 //生成随机字符串 源代码网推荐 public static string GenerateRandom(int Length) 源代码网推荐 { 源代码网推荐 System.Text.StringBuilder newRandom = new System.Text.StringBuilder(36); 源代码网推荐 Random rd = new Random(); 源代码网推荐 for (int i = 0; i < Length; i++) 源代码网推荐 { 源代码网推荐 newRandom.Append(constant[rd.Next(36)]); 源代码网推荐 } 源代码网推荐 return newRandom.ToString(); 源代码网推荐 } 源代码网推荐 } 源代码网推荐 源代码网推荐 使用随机图片的页面,IMAGE控件的写法如下: 源代码网推荐 源代码网推荐 <asp:Image ID="Image1" ImageUrl="~/getRandImg.aspx" runat="server" /> 源代码网推荐 源代码网推荐 示例代码:http://www.cnblogs.com/Files/heekui/RandCode.rar 源代码网推荐 源代码网推荐 http://www.cnblogs.com/heekui/archive/2007/01/06/613609.html 源代码网推荐 源代码网推荐 做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。 源代码网推荐 源代码网供稿. |
