.NET实现中英文验证码

最终效果如图:

CheckCode.aspx.cs代码如下

 

  1    protected void Page_Load(object sender, EventArgs e)
  2    {
  3        //获取GB2312编码页(表)
  4        /**
  5         * 生成中文验证验码所要使用的方法
  6         * 注,生成中文验证码时要改变一下生成验证码图片的宽度
  7         * var imageCode = new System.Drawing.Bitmap((int)Math.Ceiling((code.Length * 22.5)), 23); //定义图片的宽度和高度
  8         **/

  9
 10        //var gb = Encoding.GetEncoding("gb2312");
 11
 12        ////调用函数产生4个随机中文汉字编码
 13        //object[] bytes = CreateRegionCode(4);
 14
 15        ////根据汉字编码的字节数组解码出中文汉字
 16        //var sbCode = new StringBuilder().Append(gb.GetString((byte[])Convert.ChangeType(bytes[0], typeof(byte[]))))
 17        //    .Append(gb.GetString((byte[])Convert.ChangeType(bytes[1], typeof(byte[]))))
 18        //    .Append(gb.GetString((byte[])Convert.ChangeType(bytes[2], typeof(byte[]))))
 19        //    .Append(gb.GetString((byte[])Convert.ChangeType(bytes[3], typeof(byte[]))));
 20        //CreateCheckCodeImage(sbCode.ToString());
 21
 22        CreateCheckCodeImage(GenerateCheckCode());      //生成数字英文所要使用的方法
 23    }

 24
 25    生成汉字验证码
 91
 92    生成图片
145
146    生成数据验证码

 

使用验证码页面:

 

1<form id="formCode" runat="server">   
2<div>   
3    <img src="CheckCode.aspx" mce_src="CheckCode.aspx" alt="验证码" />   
4</div>   
5</form>  

 

posted @ 2009-11-25 09:23  Sandglass  阅读(1233)  评论(4)    收藏  举报