.net 图片验证码,最终完成版

ASP.NET MVC 登录验证码 图片验证码HTML页面: <div style="float: left; width: 65%"> <input class="ipt" id="verifycode" maxlength="4" type="text" placeho 阅读详情

昨天试了一下书上的例子,可是在.net 2005下面老是出错误,提示无法找到方法重写,然后试了试另一种方法。

建立一个类,用来绘制随机字符,然后建立a.aspx,在pageload里面调用这个类,然后将登录页面的img 的src属性,设置为这个a.aspx,运行即可。

类的代码。

 using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using System.Web;
using System.Web.SessionState;

namespace WebHelper.Picture
{
    /**/
    /// <summary>
    /// 中文图片验证码
    /// </summary>
    public class Valids : System.Web.UI.Page
    {
        /**/
        /// <summary>
        /// 生成一个随机文字图片,保存在 Session["ValidCode"]
        /// </summary>
        /// <param name="count">图片中字的个数</param>
        /// <returns>生成的文字</returns>
        public static void CreateImage(int count)
        {
            string ValidCode = GenCode(count);
            CreateCheckCodeImage(ValidCode);
            HttpContext.Current.Session["ValidCode"] = ValidCode;
        }

        /**/
        /// <summary>
        /// 产生随机字符串
        /// </summary>
        /// <param name="num">随机出几个字符</param>
        /// <returns>随机出的字符串</returns>
        private static string GenCode(int num)
        {
            string validateCode = "";

            // 随机数对象
            Random random = new Random();

            for (int i = 0; i < num; i++)
            {
                // 26: a - z
                int n = random.Next(26);

                // 将数字转换成大写字母
                validateCode += (char)(n + 65);
            }

                       

            return validateCode;


        }

        /**/
        /// <summary>
        /// 生成图片(增加背景噪音线、前景噪音点)
        /// </summary>
        /// <param name="checkCode">随机出字符串</param>
        private static void CreateCheckCodeImage(string checkCode)
        {
            if (checkCode.Trim() == "" || checkCode == null)
                return;
            System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)(checkCode.Length * 21.5), 22);
            Graphics g = Graphics.FromImage(image);
            try
            {
                //生成随机生成器
                Random random = new Random();

                //清空图片背景色
                g.Clear(Color.White);

                // 画图片的背景噪音线
                int i;
                for (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", 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);

                //画图片的前景噪音点
                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);
                HttpContext.Current.Response.ClearContent();
                HttpContext.Current.Response.ContentType = "image/Gif";
                HttpContext.Current.Response.BinaryWrite(ms.ToArray());
            }
            catch
            {
                g.Dispose();
                image.Dispose();
            }
        }
    }
}

 

在a.aspx  的pageload中加入

  WebHelper.Picture.Valids.CreateImage(4);

 
.net 生成随机验证码图片 创建一个验证码的控制器ValidateCodeController。:引用jQuery的配置文件,再重定向验证码图片链接就可以了。(注:此方法更适用于.net前后端不分离项目):在控制器粘贴随机生成四位数验证码图片的代码。//让img的src重新请求。:写一个图片的显示代码。 阅读详情

相关推荐

ASP.NET MVC中图片验证码功能的实现

ASP.NET MVC(Model-View-Controller)是一个在Microsoft .NET Framework基础上构建的Web开发框架。它将Web应用程序分为三个主要组件:模型(Model)、视图(View)和控制器(Controller)。这种设计模式促进了应用程序的可维护性和可扩展性,特别是在大规模的企业级应用开发中。在本章中,我们首先会探讨MVC设计模式的基本概念,介绍ASP.NET MVC框架的核心组成部分,并通过实例讲解如何在Web开发中应用该框架。

weixin_36213081的博客 1196

记录解决SpringBoot前后端分离跨域导致的图片验证码Sessionid不一致(也即空指针异常问题)

问题 最近在给项目开发登录注册功能,在登录的图片验证码上出现了问题,报了空指针异常。 逻辑是这样的:在登录页面,前端通过验证码接口先请求验证码,然后输入用户名密码和验证码之后,请求登录接口。在验证码接口中我用session保存验证码,在登录接口中我从session取出验证码进行校验。 postman测试没有问题,但是前端在测试时报了空指针异常。 于是我查看后端日志,发现请求验证码时返回给前端的sessionId和前端发送登录请求时所携带的sessionId不一致,所以后端拿到的sessionId是没有对应

sgsx11的博客 3179

ASP.NET验证码图片生成器源代码

图像转换技术是验证码生成中不可或缺的一环,它涉及到位图和矢量图的概念以及图像压缩技术,这些技术对验证码的生成和用户体验都有着直接的影响。

weixin_34598113的博客 953

.net生成图片验证码

    目前,机器识别验证码已经相当强大了,比较常见的避免被机器识别的方法,就是将验证码的字符串连到一起,这样就加大的识别的难度,毕竟机器没有人工智能。我找了很多的.net生成图片验证码的例子,后来经过一些修改和整理,差不多满足了我的要求:图片有噪音点,每个字符的字体随机,颜色随机,字符部分重叠。    那么如何实现呢?    1. 首先,验证码图片标签链接到生成图片的aspx页面,如:

攀升·Lislie 7539

.NET MVC Gif动态验证码,模仿苹果商店验证码

.NET MVC Gif动态验证码,模仿苹果商店验证码, .NET MVC 动态验证码

C#生成Gif动态验证码(源代码)

生成动态的GIF,用于网站建设的验证码。 C#生成Gif Gif验证码 生成验证码 C#验证码

php,session验证码不一致,慢半拍,老显示上次验证码问题之完美解决(共享验证码代码)...

最近写一个PHP的小项目,要用到验证码类,就google+baidu了一下,但是再使用的过程中,及其NC的想在前台判断验证码是否输入正确,所以就喜剧性的出现了一下一幕:用SESSION保存的code在form页面echo出来跟验证码图片显示的不一致,慢半拍,即本次echo出来的是上次的验证码图片信息。 原因是:页面加载login.php页面时,图片的加载跟其他标签加载是异步的,所以其他标签信...

weixin_34130389的博客 480

Cadence Allegro 17.2 PCB设计避坑指南:从焊盘制作到封装绘制的完整流程

本文详细解析了Cadence Allegro 17.2在PCB设计中的关键操作技巧,从焊盘制作到封装绘制的完整流程。通过0402电阻和2.54mm排针的实例,揭示新手常见错误及解决方案,包括焊盘参数设置、层类型区分和坐标输入规范,帮助工程师避免设计返工和生产事故。

weixin_28683391的博客 409

收集整理三种.NET图片验证码程序(两种经过测试及修改)[转]

第一种,可以点击刷新,显示样示如下:(注:命名空间不可省,在网上找的时候很多都省去了限定命名空间,结果报(不扩展类“System.Web.UI.Page”)错误,想了N多办法没搞定,加上命名空间就成了,晕。第二种方法也一样)using System;using System.Data;using System.Configuration;using System.Collections;usi

蓝色湖泊的专栏 458

《寻秦OL》.ani动画逆向解析:二进制结构与Unity重实现

动画文件格式是游戏资源逆向的核心入口,其本质是一组按特定规则组织的二进制数据流。理解魔数识别、字节序、字段对齐与差分编码等底层原理,是解析非标准格式的关键前提。技术价值在于绕过黑盒协议,直接从静态客户端提取可验证的原始语义;典型应用场景包括老游戏复刻、美术资产抢救、引擎跨平台迁移及教学级逆向训练。本文以《寻秦OL》的`.ani`文件为实例,深入剖析其C风格结构布局、GB2312中文命名、16位定点数旋转表示及帧主序差分存储机制,并基于C#在Unity中完成从字节流到AnimationClip的端到端重建,覆

weixin_30368981的博客 640

PCA9548实战:从硬件连接到Linux驱动的I2C扩展全解析

本文详细解析了PCA9548 I2C多路复用器从硬件连接到Linux驱动配置的全过程。涵盖硬件引脚连接、电源去耦、地址选择等关键设计要点,以及Linux驱动加载、设备树配置和应用层编程技巧,帮助开发者高效实现I2C总线扩展。

weixin_28726391的博客 410

我的异常网 » Java Web开发 » 验证码跟session不同步

验证码和session不同步 验证码是在servlet中生成的,然后就放到session中,可页面取的时候怎么老是和servlet中的session不同步,也就是页面显示的验证码和从页面取出的验证码不一样,而且页面取出的总是上一次显示的,比如第一次显示的是 "123 ",这时取出来的就不是“123”,刷新页面后再从session中取,取出来的才是 "123 ",也就是说在页面从session中取

nanshanzhihou的专栏 798

Autosar Os降低CPU负载的方案总结

由于各个项目的实际场景不尽相同,可能需要有针对性的对症优化。如果你还有别的一些优化手段欢迎留言交流。

3679

基于ASP.NET MVC的极速验证,滑块验证码

基于asp.net mvc 的滑动验证码,极限验证码的实现

知网一哥的博客 6819

HDLbits找茬实战:5个Verilog仿真Bug修复案例,新手避坑指南

本文通过HDLbits平台上的5个典型Verilog仿真Bug案例,详细解析了多路选择器位宽不匹配、模块实例化端口映射错误等常见问题,提供实用的修复方案和调试技巧,帮助Verilog新手快速掌握代码验证与仿真技能,避免常见陷阱。

weixin_42653691的博客 162

Argoverse数据集可视化/Argoverse-api

argoverse可视化,argoverse-api配制方法

learning_man的博客 9561

ASP.NET(VB) 图片验证码

ASP.NET(VB) 图片验证码Jerry(k613@21cn.com)根据网友的C#.NET图片验证改为VB.NET而已,由于VB.NET不支持unchecked,故去掉了按时间种子生成随机数的函数部分。测试中并无出现相同的验证码。ValidCode.vb--------------Imports SystemImports System.DrawingImports System

Jerry's Blog 1850

模型实战(32)之 yolo26 实现对全身关键点数据集 的训练与关键点检测

模型实战(32)之 yolo26 实现对全身关键点数据集 的训练与关键点检测

yohnyang的博客 90

简易的asp.net登录图片验证码

第一次写博客,有写得不好的地方欢迎指出来哈 因工作上的需求需要在项目中使用到图片验证码,之前的验证码 大概是8年前的不太符合现在的审美,因此在网上查找比较新的验证码。 用百度搜索出来的结果不太理想,遂用谷歌进行搜索,发现了微软有人放出了验证码的代码,所以对代码进行借用 第一步:新建ashx文件,取名ImageCodeHandler 第二步,代码内容如下: using System; using S...

z10668107的博客 1659

DaVinci配置DID之二:工具链配置

本系列主要基于DaVinCi工具链来展开具体DID读写的配置以及最终实现。1,CDD准备2,工具链配置3,代码实现4,验证结果本文讲述流程2话不多说,走你~博主也是AutoSar小白,如果哪里表达的有问题,还请大佬们指点指点哈。接下来,让我们在下章关于代码具体实现的博文再相会哈~

weixin_48498880的博客 5743

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

开发基于ASP.NET WebService的图片验证码服务

最近,工作中接到一项任务,开发一个页面验证码功能,查阅了一些网上的资料,并结合以前的绘图方面的知识,实现了如下的解决方案。生成的验证码效果如图:要解决的问题:1. 如何随机生成图片    生成System.Drawing.Bitmap对象,使用System.Drawing.Graphics向位图对象中绘图。2. 如何在WebService的方法中通过参数传递图片数据    将Bit

在路上 4536

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

.NET纯后台生成验证码图片

NE纯后台生成验证码 上面就是最后的效果图,可以点击更换验证码 下面放上代码 先放上一个图片按钮 <asp:Image ID=“ValiCode” runat=“server” ImageUrl="…/XX.aspx"/> 图片链接直接放上一个页面链接,这个页面的前台不用任何更改,后台会返回一张图片,下面就是这个页面的后台代码 先是Page_Load事件里面的代码, string v...

o_circle的博客 813

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

.Net实现图片验证码。

第一次发博。话不多述,先看看页面展示效果。 验证码错误 验证码正确的页面 这是前台代码。有注释 <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/&...

qq_39690642的博客 1138

C#——验证码图片生成及.net mvc登录验证码实现

1.验证码图片生成类 /// <summary> /// 生成验证码图片类 /// </summary> public class VerifyCodeHelper { public static Bitmap CreateVerifyCode(out string code) { ...

知北行的博客 1949

JS+ASP.NET 图片验证码

JS图片验证码

以后再来修改 932

关于网页验证码图片点击刷新的实现

网站页面验证码方法是防止电脑攻击的一个比较常用的方法,结合本人的实践,在这里利用vb.net对验证码图片相关技术作一介绍,主要实现图片产生,图片生成参数自动设置,点击图片自动更换一张等常用功能.

这里是开发区 6437
上一篇: .net中的图片验证
下一篇: magicajax 使用说明(转贴自http://www.cnblogs.com/snowball/)
JYYCOM
博客等级 码龄20年 9粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值