asp.net之验证图片

ASP.NET MVC中图片验证码功能的实现 ASP.NET MVC(Model-View-Controller)是一个在Microsoft .NET Framework基础上构建的Web开发框架。它将Web应用程序分为三个主要组件:模型(Model)、视图(View)和控制器(Controller)。这种设计模式促进了应用程序的可维护性和可扩展性,特别是在大规模的企业级应用开发中。在本章中,我们首先会探讨MVC设计模式的基本概念,介绍ASP.NET MVC框架的核心组成部分,并通过实例讲解如何在Web开发中应用该框架。 阅读详情
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Drawing;//引入命名空间

public partial class ValidateNum : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            string validateNum = CreateRandomNum(4);//成生4位随机字符串
            CreateImage(validateNum);//将生成的随机字符串绘成图片
            Session["ValidateNum"] = validateNum;//保存验证码
        }
    }
    //生成随机字符串
    private string CreateRandomNum(int NumCount)
    {
        string allChar = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,W,X,Y,Z";
        string[] allCharArray = allChar.Split(',');//拆分成数组
        string randomNum = "";
        int temp = -1;//记录上次随机数的数值,尽量避免产生几个相同的随机数

        Random rand = new Random();
        for (int i = 0; i < NumCount; i++)
        {
            if (temp != -1)
            {
                rand = new Random(i * temp * ((int)DateTime.Now.Ticks));
            }
            int t = rand.Next(35);
            if (temp == t)
            {
                return CreateRandomNum(NumCount);
            }
            temp = t;
            randomNum += allCharArray[t];
        }
        return randomNum;
    }
    //生成图片
    private void CreateImage(string validateNum)
    {
        if (validateNum == null || validateNum.Trim() == String.Empty)
            return;
        //生成Bitmap图像
        System.Drawing.Bitmap image = new System.Drawing.Bitmap(validateNum.Length * 12 + 10, 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);

                g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);
            }

            Font font = new System.Drawing.Font("Arial", 12, (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.DarkRed, 1.2f, true);
            g.DrawString(validateNum, 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());
        }
        finally
        {
            g.Dispose();
            image.Dispose();
        }
    }
}

ASP.NET图片验证码的无刷新更换实现 无刷新技术是指在用户与Web应用交互时,无需重新加载整个页面,只需要通过Ajax等技术动态更新页面的一部分内容。这种技术的出现,大幅提升了用户体验,因为它减少了等待时间,加快了响应速度。无刷新技术的优势显而易见:减少了不必要的数据传输,降低了服务器的负载。用户无需等待整个页面加载完成,可以实现更加流畅的交互体验。提高了页面的响应速度,用户感觉更加快捷。在ASP.NET应用中,页面承担着生成并提供验证码图片的核心职责。 阅读详情

相关推荐

基于asp.net mvc的图片滑动验证码,极限验证

基于asp.net mvc的图片滑动验证码,随机截取图片,用户需要将截取的图片拖至缺失部分才能通过验证。

数字验证码

作者:harbour 时间:2014/6/3 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string validateNum = CreateRandomNum(4); //成生4位随机字符串

harbour的专栏 697

.net图片登录验证码

.net的验证很多不过这个验证很好用的,希望大家下载查阅,增加积分呵呵

asp.net防止上传木马图片

    public static bool IsAllowedExtension(FileUpload hifile)    {        //System.IO.FileStream fs = new System.IO.FileStream(hifile.PostedFile.FileName, System.IO.FileMode.Open, System.IO.FileAccess.

xhbmj的专栏 2135

数字验证码2

数字验证码的demo,该demo需要引入jQuery,相比于我的另一篇,该页面更简洁

asp.net 图片验证码

不错的图片验证码,可以只显示数字,或者只显示字母,或者数字与字母的组合,字符颜色随机,大小随机,位置随机

.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

Western blot (WB) 灰度分析进阶指南:ImageJ 高效定量技巧与实战优化

本文详细介绍了使用ImageJ进行Western blot灰度分析的进阶技巧,包括批量处理、背景校正和疑难条带处理等实战优化方法。通过自动化宏脚本和动态背景校正,显著提升分析效率和准确性,特别适合科研人员处理复杂WB数据。

weixin_42557830的博客 901

常用的正则表达式结合validate验证的写法

jquery validate验证有时候需要自定义一些常用的验证,总结一下平时遇见的。 将自定义方法写在jquery.validate.js中 1.用户名验证 // 用户名验证 jQuery.validator.addMethod("imUserName", function(value, element) { return this.optional(element) || /^(

技术改变生活 3770

使用STC15F104W产生PWM脉冲

最近的小项目中使用到了STC15F104W产生PWM脉冲

yeats1989的专栏 1万+

告别玄学调参:手把手教你用LSTM-AutoEncoder为传感器数据做异常检测(实战篇)

本文详细介绍了LSTM-AutoEncoder在传感器数据异常检测中的工程化实践,包括数据预处理、模型架构设计和生产环境部署策略。通过结合LSTM的时间序列处理能力和AutoEncoder的特征提取优势,该方法能够有效识别温湿度、PM2.5等传感器数据的异常模式,适用于工业物联网和室内空气质量监测等场景。

weixin_29212429的博客 477

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 1849

[Python人工智能] 三十六.基于Transformer的商品评论情感分析 (2)keras构建多头自注意力(Transformer)模型

本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关知识。前一篇文章利用Keras构建深度学习模型并实现了情感分析。这篇文章将介绍Transformer基础知识,并通过Keras构建多头自注意力(Transformer)模型,实现IMDB电影影评数据情感分析。基础性文章,希望对您有所帮助!...

杨秀璋的专栏 4908

ASP.Net实现图片的验证码

生成图片的Gif.aspx文件!需要引入以下两名命名空间!-----------------------------------start----------------------------------------------using System.Drawing;using System.Drawing.Imaging;private void Page_Load(object sende

Adot84的专栏 1285

【AI编程】Cursor编程工具使用教程:下载、配置、使用、运行Java项目

【AI编程】Cursor编程工具使用教程:下载、配置、使用、运行Java项目

funfan的博客 5198

【推荐100个unity插件之7】使用BehaviorDesigner插件制作BOSS的AI行为树

Behavior Designer是一个行为树插件,是一款为了让策划,程序员,美术人员方便使用的可视化编辑器。Behavior Designer提供了强大的AP1可以让你轻松的创建tasks(任务),配合uScript和PlayMaker这样的插件,可以不费吹灰之力就能够创建出强大的Al系统,而无需写行代码。(不懂PlayMaker的,我后面在单独出文章介绍一下,可以期待一下)

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 6570

asp.net生成验证码图片

<!--var theForm = document.forms[MyForm];if (!theForm) { theForm = document.MyForm;}function __doPostBack(eventTarget, eventArgument) { if (!theForm.onsubmit || (t

zgh2002007的专栏 1295

5、癌症数据预处理技术与深度学习在癌症预测中的应用

本文详细介绍了癌症数据预处理技术和深度学习在癌症预测中的应用。针对CT扫描图像、X射线图像、超声图像、基因表达数据和文本数据等不同类型的癌症数据,分别阐述了去噪、插值、配准、归一化等预处理技术的具体方法。同时,分析了深度学习在乳腺癌、白血病和宫颈癌预测中的作用,结合相关影响因素探讨了模型的应用潜力。此外,还总结了深度学习在癌症预测中面临的挑战及未来发展方向,为癌症的早期诊断与精准预测提供了理论支持和技术参考。

alice7model的博客 123

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

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

z10668107的博客 1658

mjlab 入门教程(一)MuJoCo 人形机器人强化学习训练 sim-to-real 部署框架

摘要:mjlab是一个结合IsaacLab API与MuJoCo简洁性的GPU加速机器人仿真框架,专为强化学习和机器人研究设计。它提供快速安装(支持uv、pip、conda和Docker)、核心功能(域随机化、NaN守护、观测历史/延迟、执行器/传感器系统)以及从IsaacLab的迁移指南。相比IsaacLab,mjlab更轻量、启动更快,直接构建在MuJoCo Warp上,避免了Omniverse开销。其哲学强调裸机性能、开发者体验和核心领域专注,适合需要快速迭代和直接MuJoCo控制的用户,而Isaac

2506_90492529的博客 2725

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

分享asp.net的图片验证码的HtmlHelper

分享asp.net的图片验证码的HtmlHelper 一个图片验证码的HtmlHelper,原来的调用代码如下: $(document).ready(function () { $("#validateCode").bind("click", function () { var url = $(this).attr("src"); url += "?" + Math.ra

u011877729的专栏 592

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

JS+ASP.NET 图片验证码

JS图片验证码

以后再来修改 932

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Camera2Demo

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

ASP.NET图片验证码的实现

生成图片验证码页面createImg.aspx,验证页面Default.aspx。  CreateImg.aspx页面使用的各个函数如下:  string getRandomValidate(int len) 得到随机长度为len的字符串  drawLine(Graphics gfc,Bitmap img) 在图片中画底线 

jainyin的专栏 779

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

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

在路上 4536
上一篇: asp.net类中公共类DBHelp(C#)
下一篇: 实现图片验证码的方法
softwarelive
博客等级 码龄17年 1粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值