收藏一段เล็ก的.net下的验证码验,以供以后参考。
protected void Page_Load(object sender, EventArgs e)
-
//先产生数字串
สตริง checkCode = this.CreateRandomCode (6);
//用session保存
เซสชั่น ["CheckCode"] = checkCode;
//รูปภาพ
CreateImage(ตรวจสอบรหัส);
-
โมฆะส่วนตัว CreateImage (สตริง checkCode)
-
System. Drawing.Bitmap image = ใหม่ System. Drawing.Bitmap (Convert.ToInt32 (Math.Ceiling ((ทศนิยม) (checkCode.Length * 14))), 22);
กราฟิก g = Graphics.FromImage (รูปภาพ);
พยายาม
-
สุ่ม สุ่ม = สุ่มใหม่();
g.Clear (สี AliceBlue);
สำหรับ (int i = 0; i < 25; i++)
-
int x1 = สุ่มถัดไป (รูปภาพ. ความกว้าง);
int x2 = สุ่มถัดไป (รูปภาพ. ความกว้าง);
int y1 = Random.Next(image.Height);
int y2 = Random.Next(image.Height);
g.DrawLine(ปากกาใหม่(สีเงิน) x1, y1, x2, y2);
}
ฟอนต์ฟอนต์ = new System. Drawing.Font("Comic Sans MS", 12, System. Drawing.FontStyle.Bold);
System.ถอนเงิน.ถอนเงิน2D.LinearGradientBrush แปรง = ใหม่ System.ถอนเงินถอนเงิน2D.LinearGradientBrush(ใหม่สี่เหลี่ยมผืนผ้า(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2f, จริง);
g.DrawString(checkCode, ฟอนต์, SolidBrush ใหม่ (Color.Red), 2, 2);
สำหรับ (int i = 0; i < 100; i++)
-
int x = Random.Next(รูปภาพ.ความกว้าง);
int y = Random.Next(image.Height);
image.SetPixel(x, y, Color.FromArgb(random.Next()));
}
g.DrawRectangle (ปากกาใหม่ (Color.Silver), 0, 0, image.Width - 1, image.Height - 1);
System.IO.MemoryStream ms = System.IO.MemoryStream ใหม่ ();
image.Save (ms, System. Drawing.Imaging.ImageFormat.Gif);
Response.ClearContent();
Response.ContentType = "รูปภาพ/Gif";
Response.BinaryWrite(ms.ToArray());
-
ในที่สุด
-
g.ทิ้ง();
รูปภาพ.ทิ้ง();
-
}
สตริงสาธารณะ CreateRandomCode(int codeCount)
-
สตริง allChar = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M, ไม่มี,O,P,Q,R,S,T,U,V,W,X,Y,Z";
สตริง[] allCharArray = allChar.Split(',');
สตริง RandomCode = "";
อุณหภูมิภายใน = -1;
สุ่มแรนด์ = สุ่มใหม่ ();
สำหรับ (int i = 0; i < codeCount; i++)
-
ถ้า (อุณหภูมิ != -1)
-
rand = สุ่มใหม่ (i * temp * ((int) DateTime.Now.Ticks));
-
int t = rand ถัดไป (36);
ถ้า (อุณหภูมิ != -1 && อุณหภูมิ == t)
-
กลับ CreateRandomCode (codeCount);
-
อุณหภูมิ = เสื้อ;
รหัสสุ่ม += allCharArray[t];
-
กลับรหัสสุ่ม;
}
http://www.cnblogs.com/jackyrong/archive/2006/08/25/486281.html