- 浏览: 281656 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
weituotian:
这篇文章真的很好阿
C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值 -
clshuai:
博主,你好,看了你的这篇文章,让我很敬佩。可谓内容之全,涵盖范 ...
C#操作Excel -
devilhand:
DataGridView刷新数据的问题 -
devilhand:
DataGridView刷新数据的问题 -
devilhand:
DataGridView刷新数据的问题
C#代码:
javascript代码:
html代码:
using System.Text; using System.Drawing; public partial class Default3 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { CreateCheckCodeImage(GetString(4)); } private object[] CreateString(int strlenght) { string[] str=new string[16] {"0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"}; Random ran=new Random (); object [] bytes=new object [strlenght ]; for (int i=0;i<strlenght ;i++) { int ran1=ran.Next (11,14); string str1=str [ran1].Trim (); ran = new Random(ran1 * unchecked((int)DateTime.Now.Ticks) + i); int ran2; if (ran1 == 13) { ran2 = ran.Next(0, 7); } else { ran2 = ran.Next(0,16); } string str2 = str[ran2].Trim(); ran = new Random(ran2 * unchecked((int)DateTime.Now.Ticks) + i); int ran3 = ran.Next(10,16); string str3 = str[ran3].Trim(); ran = new Random(ran3 * unchecked((int)DateTime.Now.Ticks) + i); int ran4; if (ran3 == 10) { ran4 = ran.Next(1, 16); } else if (ran3 == 15) { ran4 = ran.Next(0, 15); } else { ran4 = ran.Next(0, 16); } string str4 = str[ran4].Trim(); byte byte1 = Convert.ToByte(str1 + str2, 16); byte byte2 = Convert.ToByte(str3 + str4, 16); byte [] stradd=new byte []{byte1,byte2 }; bytes.SetValue(stradd, i); } return bytes; } private string GetString(int length) { Encoding gb = Encoding.GetEncoding("gb2312"); object[] bytes = CreateString(length); string str1 = gb.GetString((byte[])Convert.ChangeType(bytes[0], typeof(byte[]))); string str2 = gb.GetString((byte[])Convert.ChangeType(bytes[1], typeof(byte[]))); string str3 = gb.GetString((byte[])Convert.ChangeType(bytes[2], typeof(byte[]))); string str4 = gb.GetString((byte[])Convert.ChangeType(bytes[3], typeof(byte[]))); string str = str1 + str2 + str3 + str4; Response.Cookies.Add(new HttpCookie ("CheckCode",str )); return str; } private void CreateCheckCodeImage(string checkCode) { if (checkCode == null || checkCode.Trim() == string.Empty) return; System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length * 21.5)), 22); Graphics g = Graphics.FromImage(image); try {//生成随机生成器 Random random = new Random(); g.Clear(Color.White); //画图片的背景噪音线 for (int i = 0; i < 25; i++) { int x1 = random.Next(image.Width); int x2 = random.Next(image.Width); int y1 = random.Next(image.Height); int y2 = random.Next(image.Height); } Font font = new System.Drawing.Font("Arial", 12, (System.Drawing.FontStyle.Bold)); System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2f, true); g.DrawString(checkCode, font, brush, 2, 2); //画图片的前景噪音点 for (int i = 0; i < 100; i++) { int x = random.Next(image.Width); int y = random.Next(image.Height); image.SetPixel(x, y, Color.FromArgb(random.Next())); } //画图片的边框线 g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1); System.IO.MemoryStream ms = new System.IO.MemoryStream(); image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif); Response.ClearContent(); Response.ContentType = "image/gif"; Response.BinaryWrite(ms.ToArray()); } catch (Exception ms) { Response.Write(ms.Message); } finally { g.Dispose(); image.Dispose(); } }
javascript代码:
<script type="text/javascript"> function change() { var imgNode = document.getElementById("vimg"); imgNode.src = "Code.aspx?t=" + (new Date()).valueOf(); // 这里加个时间的参数是为了防止浏览器缓存的问题 } </script>
html代码:
<asp:Image ID="vimg" runat="server" Height ="18px" Width ="60px" src="Code.aspx" /><input type="button" value="换一张图片" onclick="change()" />
发表评论
-
获取批处理文件路径
2010-12-08 20:36 825@echo off echo 该批处理文件: echo 所 ... -
预览文章: asp.net 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证
2010-07-01 15:56 1529异常详细信息: System.ArgumentExceptio ... -
改变交叉表的行标题和列标题
2010-06-30 12:57 940以后写 -
ASP.NET中如何实现FORM认证登录
2010-06-14 13:55 1761如何运用 Form 表单认证 ... -
重新注册asp.net 2.0
2010-06-14 10:58 1118运行 C:\WINDOWS\Microsoft.NET\Fra ... -
发布到IIS后水晶报表的图片显示不了
2010-06-13 18:40 1897原因:没有安装 Crystal Report ... -
网站的预编译
2010-05-30 02:55 9101、找到aspnet_compiler.exe的路径 ... -
VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件
2010-05-30 01:39 18651.新建一ASP.NET网站2.利用aspnet_compil ... -
数据传输时用到的一些方法
2010-05-08 14:40 964#region 用回车键替换Tab ... -
获取正在执行的方法的信息
2010-04-28 10:30 977System.Diagnostics.StackTrace ... -
log4net在winforn中的使用
2010-04-26 18:54 9701、新建一个面目 2、添加引用(添加log4net.dll的 ... -
上传图片
2010-04-11 23:45 971using System; using System.Col ... -
常用代码
2010-04-11 23:23 853//添加连接 第一个<appSetting/>后 ... -
连接数据库代码
2010-04-11 23:22 688//添加连接 第一个<appSetting/>后 ... -
数据库操作代码
2010-04-11 23:17 922/****************************** ... -
在中文版VS 08中安装MVC
2010-03-10 20:21 1513看到微软MIX08大会的产 ... -
编程遍历页面上所有TextBox控件并给它赋值为string.Empty
2010-03-09 12:44 1802foreach (System.Windows.Forms.C ... -
图表的绘制
2010-02-26 17:12 774//图表的绘制兵保存为gif格式 int height ... -
ViewState与Session
2010-01-17 05:40 1374昨天偶然看到网上有人讨论究竟是该用viewstate还是ses ... -
后台调用前台的js
2010-01-05 01:24 2220(1)在类似于onload的初始化过程中添加Attribute ...
相关推荐
自动随机生成字库,生成中文验证码(内含3000张已生成验证码)
在ASP(Active Server Pages)环境下,生成汉字验证码可以增加安全性,因为汉字的复杂性使得自动化程序更难以识别。本文将深入探讨如何使用ASP来生成汉字验证码,并结合提供的文件名,推测可能的实现方式。 首先,...
3. **生成中文验证码**: 验证码生成通常涉及随机选择汉字并组合。你可以使用Java的`Random`类和预先准备的汉字字符数组来生成随机的中文字符串。确保生成的字符串长度适中,一般4到6个字符。 4. **图形化验证码**: ...
在标题和描述中提到的“ajax验证码”和“生成中文验证码”是验证码技术的两个关键点,我们将详细探讨这两个概念。 首先,Ajax(Asynchronous JavaScript and XML)是一种网页开发技术,它允许网页在不刷新整个页面...
### C#生成中文汉字验证码源码解析 #### 概述 验证码是一种常用的安全措施,用于区分用户是人类...尽管该方案具有一定的复杂度,但对于需要在Web应用程序中集成中文验证码功能的开发者来说,仍具有一定的参考价值。
首先,生成汉字验证码的关键在于拥有一个汉字库,可以从 Unicode 范围内的汉字中随机选取。Unicode 是一种字符编码标准,包含了大量汉字。PHP 可以通过 mbstring 扩展来处理多字节字符,如汉字。 创建汉字验证码的...
在Python编程领域,生成汉字验证码是一项常见的任务,特别是在网站安全、数据验证等方面有着广泛应用。汉字验证码的目的是防止自动化程序(如机器人)进行恶意操作,它要求用户输入显示的一串随机汉字,增加了系统的...
这些库已经实现了上述大部分功能,开发者只需要配置即可快速生成中文验证码。 总的来说,C#中文验证码的实现涉及了字符生成、图像处理和安全策略等多个方面。通过学习和实践,开发者可以创建出既美观又安全的中文...
在这个实例中,我们关注的是使用Java来生成汉字验证码图片,这是一种有效的防止爬虫和自动化工具的方式。下面将详细介绍这个Java实现汉字验证码的实例。 首先,生成汉字验证码的核心思想是结合随机性和图像处理技术...
在这个场景中,我们关注的是在JSP(Java Server Pages)和Java环境中生成中文验证码的技术。 首先,`jsp java 生成中文验证码`这个标题暗示我们要讨论如何在JSP应用中使用Java来创建包含中文字符的验证码。JSP是...
在ASP中生成汉字验证码是一项常见的安全措施,目的是防止自动化程序(如机器人)进行恶意操作,如注册、登录等。验证码通常包含随机生成的文字或数字,用户需要正确输入才能继续操作。 在"asp 生成汉字验证码(3个...
在Java编程语言中,生成汉字验证码图片是一种常见的安全机制,用于防止自动化脚本或机器人进行恶意操作,如注册、登录等。验证码图片通常包含随机生成的汉字和/或字母数字组合,用户需要输入图片上显示的文字以证明...
在本主题中,我们关注的是生成中文验证码,这是一种特殊的验证码类型,它不仅包含常见的字母和数字,还包含了中文字符,增加了识别难度,从而提高了系统安全性。 生成中文验证码涉及以下几个关键技术点: 1. **...
在C#编程中,生成汉字验证码涉及到的主要知识点包括汉字编码、随机数生成以及字符串操作。汉字验证码通常用于网站的身份验证,防止机器人或自动化程序进行恶意操作。以下是对这些知识点的详细解释: 1. **汉字编码*...
jsp生成中文验证码 蛮好用的,方便实惠,大家来看看那。
PHP生成中文汉字图片验证码,不知道对大家有没有帮助。
中文验证码则是在验证码的基础上,增加了中文字符,以增加破解的难度,因为中文字符的数量远大于英文,增加了机器识别的复杂性。 创建一个ASP.NET中文验证码实例,主要涉及以下几个关键知识点: 1. **随机生成中文...