C#实现验证码功能

本文实例为大家分享了C#实现验证码功能的具体代码,供大家参考,具体内容如下

分析

  • 需要四个字符(字母(大小写)+数字)
  • 将四个字符连接成字符串
  • 将连接的字符串写入label中,在label中显示验证码

解决办法

1、创建随机数生成器(Random)
2、使用for循环4次(验证码四个字符)
3、将4个随机字母随机数字连接成一个字符串
4、将链接好的字符串写入label中

所用到的属性,循环以及数据类型的转换

  • 用到Random随机生成器类(先实例化)Random s = new Random();
  • FromArgb方法label1.ForeColor = Color.FromArgb(s.Next(0, 255), s.Next(0, 255), s.Next(0, 255));字体随机颜色
  • 用到for循环(验证码为四位所以循环四次)
  • 将数字转化为字符(大写字母) (char)s.Next(65,91)显式转换
  • 将字符转化为字符串(ToString方法)字符后面直接点ToString((char)s.Next(65,91)).Tostring
  • 将数字转化为字符串(ToString)

具体代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Test_Security_Code
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //分析:验证码为4个字符,产生数字大小写字母随机,将四个字符连接成一个字符串,将字符串写入Label中
            string c = "";//初始化验证码
            Random s = new Random();//随机数生成器
            for (int i = 0; i < 4; i++)//组成(随机四位0~9数字、大小写字母)
            {
                int b = s.Next(0,3);//b表示验证码类型,此随机数为0、1、2
                //验证码是数字是字母随机(0表示大写字母,1表示数字,2表示小写字母)
                if (b==0)//如果类型是大写字母
                {
                    //此处将数字转化为字符型,将字符转化为字符串
                    c += ((char)s.Next(65,91)).ToString();
                }
                if (b==1)//如果是数字
                {
                    //将数字转化为字符串
                    c += s.Next(0, 10).ToString();
                }
                if (b==2)//如果是小写字母
                {
                    c += ((char)s.Next(97,122)).ToString();
                }
                label1.Text = c;//将c中的值赋给label文本
                //设置label中字体颜色
                label1.ForeColor = Color.FromArgb(s.Next(0, 255), s.Next(0, 255), s.Next(0, 255));
                //设置label中字体大小
                label1.Font = new Font("黑体",s.Next(10,30));
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            button1.Text = "看不清换一张";
        }
    }
}

效果图

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Asp.net(C#)实现验证码功能代码

    新建一个专门用来创建验证码图片的页面ValidateCode.aspx 它的后台cs文件代码如下: PageLoad 复制代码 代码如下: private void Page_Load(object sender, System.EventArgs e) { string checkCode = CreateRandomCode(4); Session["CheckCode"] = checkCode; CreateImage(checkCode); } 其中CreateRandomC

  • c# .net 生成图片验证码的代码

    说明:  .net 万岁...  .net framework 的类库真是太强了, 用 GDI+ 可以干N多N多事情.   广告时间:  shawl.qiu C# CMS 系统 预计40天后开始编码, 现在逐步设计中, 免得到时求职说什么什么作品...唉.  PS: 今天求职真是惨不忍睹, 谁要招网页相关的请联系 13435580019, 邱先生.   什么地方俺都去, 工资只要能过活就行,  但是食宿问题得解决.  shawl.qiu  2007-02-01  http://blog.csdn

  • C#实现发送手机验证码功能

    之前不怎么了解这个,一直以为做起来很复杂. 直到前两天公司要求要做这个功能. 做了之后才发现 这不过就是一个POST请求就能实现的东西.现在给大家分享一下,有不足之处还请多多指教. 废话不多说 直接上代码. 1.先获取一个随机数字验证码(这里是6位数),然后编辑好需要发送的内容. 这里还做了个手机号码合法性的验证. public string VerificationCode(string mobile) { if (IsHandset(mobile)) { string code = new

  • asp.net(C#) 生成随机验证码的代码

    常用的生成验证码程序 ,图片效果如下:    源程序如下: 复制代码 代码如下: using System;  using System.IO;  using System.Drawing;  using System.Drawing.Imaging;  using System.Text;  using System.Collections;  using System.Web;  using System.Web.UI;  using System.Web.UI.WebControls; 

  • C#实现的一款比较美观的验证码完整实例

    本文实例讲述了C#实现的一款比较美观的验证码.分享给大家供大家参考,具体如下: using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Drawing; using System.IO; using System.Drawing.Imaging; public partial class

  • c#实现识别图片上的验证码数字

    public void imgdo(Bitmap img) { //去色 Bitmap btp = img; Color c = new Color(); int rr, gg, bb; for (int i = 0; i < btp.Width; i++) { for (int j = 0; j < btp.Height; j++) { //取图片当前的像素点 c = btp.GetPixel(i, j); rr = c.R; gg = c.G; bb = c.B; //改变颜色 if (r

  • C#验证码识别类完整实例

    本文实例讲述了C#验证码识别类.分享给大家供大家参考.具体实现方法如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Drawing; using System.Drawing.Imaging; using System.Runtime.InteropServices; namespace 验证码处理 { class VerifyCode {

  • ASP.net 验证码实现代码(C#)

    public class ValidateCode : System.Web.UI.Page {   private void Page_Load(object sender, System.EventArgs e)   {    this.CreateCheckCodeImage(GenerateCheckCode());   }   #region Web 窗体设计器生成的代码   override protected void OnInit(EventArgs e)   {    //  

  • C#实现的简单验证码识别实例

    最近做一个小玩意需要识别验证码,之前从来没有接触过识别验证码这块,这可难倒了我.所以,在网上搜索如何识别验证码,许多前辈写的博文教会了我.怕以后又忘记了,故此写篇随笔记录. 我要识别的验证码是一种非常简单,如图: 识别步骤: 1.图片灰度化(把彩色的验证码图片转换成灰色的图片).图片二值化 复制代码 代码如下: for (int i = 0; i < bmp.Width; i++)             {                 for (int j = 0; j < bmp.He

  • 使用C#的aforge类库识别验证码实例

    时间过得真快啊,转眼今年就要过去了,大半年都没有写博客了,要说时间嘛,花在泡妹子和搞英语去了,哈哈...前几天老大问我 怎么这么长时间都没写博客了,好吧,继续坚持,继续分享我的心得体会. 这个系列我们玩玩aforge.net,套用官方都话就是一个专门为开发者和研究者基于C#框架设计的,这个框架提供了不同的类库和关于类库的 资源,还有很多应用程序例子,包括计算机视觉与人工智能,图像处理,神经网络,遗传算法,机器学习,机器人等领域,这个系列研究的重点 就是瞎几把搞下AForge.Imaging这个命

随机推荐