c#生成随机彩色验证码例子
一个简单的例子实现根据验证码判断登陆。
登陆页:
<table><tr><td style="text-align: right; height: 40px; width: 100px;"><asp:TextBox ID="txtCheckCode" runat="server" Height="25px" Width="97px" ValidationGroup="1"></asp:TextBox></td><td style="text-align: center; height: 40px; width: 100px;"><img id="chkCode" src="CheckCode.aspx" οnclick="javascript:CheckCode();" style="cursor: pointer" /></td><td> <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtCheckCode"ErrorMessage="请输入验证码!" ForeColor="Red" ValidationGroup="1"></asp:RequiredFieldValidator></td><td><asp:Button ID="btn" Text="登陆" runat="server" οnclick="btn_Click" ValidationGroup="1" Style="height: 20px" /><asp:Label ID="zt" ForeColor="Red" runat="server"></asp:Label></td></tr></table>
登陆页js: 这里主要实现点击验证码在重新生成验证码。
<script language="javascript" type="text/javascript" src="./Scripts/jquery-1.4.1.min.js"></script><script language="javascript" type="text/javascript">function CheckCode() {$("#chkCode").attr("src", "./CheckCode.aspx?" + Math.random());} </script>
登陆页面后台.CS
protected void btn_Click(object sender, EventArgs e){string checkCode =txtCheckCode.Text.Trim();string ischeck = Session["UserCCode"].ToString();if (!string.IsNullOrEmpty(checkCode)&& ischeck.Equals(checkCode)){this.zt.Text = "登陆成功!";}else{this.zt.Text = "登陆失败!";}}
CheckCode.aspx 验证码检查页面:
using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; 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.Xml.Linq; using System.Drawing;public partial class CheckCode : System.Web.UI.Page {protected void Page_Load(object sender, EventArgs e){this.CreateCheckCodeImage(GenerateCheckCode());}private string GenerateCheckCode(){int number;char code;string checkCode = String.Empty;Random random = new Random();for (int i = 0; i < 5; i++){number = random.Next();if (number % 2 == 0)code = (char)('0' + (char)(number % 10));elsecode = (char)('A' + (char)(number % 26));checkCode += code.ToString();}//Response.Cookies.Add(new HttpCookie("CheckCode", checkCode));Session["UserCCode"] = checkCode;return checkCode;}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 * 14.5)), 26);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);g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);}Font font = new System.Drawing.Font("Arial", 13, (System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic));System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkTurquoise, 1.2f, true);g.DrawString(checkCode, font, brush, 6, 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());}finally{g.Dispose();image.Dispose();}} }
实现效果:
源码下载:http://download.csdn.net/detail/njxiaogui/5279096
转载于:https://www.cnblogs.com/xiaofengfeng/archive/2013/04/21/3034557.html
c#生成随机彩色验证码例子相关推荐
- Java生成随机图片验证码工具类
一.第一种生成随机图片验证码 public class VerifyCodeUtil {//生成随机数据的数据源 public static final String VERIFY_CODES = & ...
- java 练习之生成随机四位验证码
java 小demo - 随机生成四位验证码 import javax.swing.*; import java.awt.*; import java.util.Random; /*** @autho ...
- python 基于pillow模块生成随机图片验证码教程
效果图 我们先来看一下大致的效果图. 以上图形都是用非常基础的元素随机构成的:点,线,曲线,文本.而pillow模块远远不止这些功能,如果学好了它,真的就是你想怎么花就怎么花. 那么现在我们就去学习一 ...
- 实现Java生成随机图片验证码
前言 这篇文章主要介绍了如何通过Java如何生成验证码并验证.验证码的作用我想必大家都知道,话不多说开始实施! 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 1.项 ...
- 用Java语言编写的随机彩色验证码
在制作网页过程中,免不了在登录注册页面增加一个验证码来延长数据提交时间,以免大量用户过快连接数据库读取,写入数据导致服务器崩溃.以下是用Java语言编写的彩色验证码,可用于jsp.html文件. 源代 ...
- 生成随机验证码,上传图片文件,解析HTML
1.生成随机图片验证码 1.1 页面调用createvalidatecode 生成随机图片验证码方法: <div class="inputLine"> <labe ...
- 20、随机图片验证码API接口,免费好用
1.前言 随机图片验证码接口,这个是RollToolsApi通用系列接口的其中一个,内部包含了1个小接口,可生成随机图片验证码,并返回图片给你. 查看接口完整信息:https://www.mxnzp. ...
- 大乐透python预测程序_Python生成随机验证码,大乐透号码
随机生成验证码 示例代码: import random # 导入标准模块中的random if __name__ == '__main__': check_code = "" # ...
- 小白都看得懂的使用Python生成随机验证码图片,以及后续优化方案
环境:Anaconda3-2020.02 首先我们分解一下需要做什么: 生成随机的字母字符串 生成生成随机的背景色 生成随机的字体颜色 把随机的字符串用随机的颜色渲染,然后放到一块随机的背景色上面,基 ...
- 用C#生成随机中文汉字验证码的基本原理
前几天去申请免费QQ号码,突然发现申请表单中的验证码内容换成了中文,这叫真叫我大跌眼镜感到好笑,Moper上的猫儿们都大骂腾讯采用中文验证码.^_^ 我不得不佩服腾讯为了防止目前网络上横行的QQ号码自 ...
最新文章
- 百度地图 IOS版开发经验分享
- ios开发返回按钮消失_iOS开发之自定义导航栏返回按钮右滑返回手势失效的解决...
- 进程、线程和协程的理解
- JavaScript---Ajax和函数回调,异步编程
- VS2017 installed in a different location
- 模式-视图-控制器模式2.0
- ASP.NET深入浅出系列3- Page类
- zabbix node.js mysql_Zabbix添加Node.js监控的方法
- 对比罗小平先生的《delphi精要》和李维先生的《inside VCL》
- 新疆师范大学计算机研究生值得读吗,研究生还值得读吗
- c++ opencv mat_OpenCV计算机视觉-Core组件(一)
- python 人工智能项目代码_7个Python实战项目代码,让你分分钟晋级大神!
- php度分秒,度分秒计算方法-度分秒的计算方法!急
- 白话理解傅里叶变换原理(时域频域)
- 考研基础高等数学笔记
- 前端项目实战11-hook usememo使用
- 先验概率、后验概率、似然概率概念
- 51nod 1299 监狱逃离 树形dp/最小割
- ISCC web题复现
- 【MATLAB库函数系列】resample(重采样函数)的C语言实现【姊妹篇2纯C语言实现】
热门文章
- UserWarning: h5py is running against HDF5 1.10.5 when it was built against 1.10.4
- vs2017安装qt
- opencv ret, binary = cv2.threshold(src, 180, 255, )二值化的类型
- imagenet2012数据集
- 如何开发神经网络来预测汽车保险支出
- linux终端使用python的matplotlib模块画图出现“could not open display”问题解决
- seo查询系统php源码,2020版SEO计费系统的源码
- C++ std::condition_variable 是什么 有什么用 条件变量 线程同步 wait wait_for notify_one notify_all
- 以太坊虚拟机 EVM(1)EVMC interpreter
- Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络