asp.net实现简单数字验证码实例

怪我咯
发布: 2017-03-30 13:31:51
原创
1670 人浏览过

调用

验证码: 
登录后复制


后台实现
Rnd.aspx.cs

using System; using System.Collections; using System.Configuration; using System.Data; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Drawing; using System.Drawing.Imaging; public partial class Rnd : System.Web.UI.Page { private int codeLen = 5;//随机显示字符个数 private int fineness = 100;//图片清晰度 private int imgWidth = 65;//图片宽度 private int imgHeight = 20;//图片高度 private string fontFamily = "Roman";//字体名称 private int fontSize = 12; //字体大小 private Random random = new Random(); protected void Page_Load(object sender, EventArgs e) { string validateCode = CreateValidateCode(); Session["RandomNumber"] = validateCode; Bitmap bitmap = new Bitmap(imgWidth, imgHeight); DisturbBitmap(bitmap); DrawValidateCode(bitmap, validateCode); bitmap.Save(Response.OutputStream, ImageFormat.Gif); } private string CreateValidateCode()//得到随机数 { string validateCode = ""; for (int i = 0; i < codeLen; i++) { int n = random.Next(10);//返回一个小于最大值得随机数 validateCode += n.ToString(); } return validateCode; } private void DisturbBitmap(Bitmap bitmap)//获取背景图 { for (int i = 0; i < bitmap.Width; i++) { for (int j = 0; j < bitmap.Height; j++) { if (random.Next(90) <= this.fineness) { bitmap.SetPixel(i, j, Color.White);//获取指定位置的像素颜色 } } } } private void DrawValidateCode(Bitmap bitmap, string validateCode) { Graphics g = Graphics.FromImage(bitmap); Font font = new Font(fontFamily, fontSize, FontStyle.Bold); g.DrawString(validateCode, font, Brushes.Green, random.Next(-3, 11), random.Next(-4, 1));//在指定区域绘制文本字符 } }
登录后复制


以上是asp.net实现简单数字验证码实例的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!