C#验证码的实现_验证码怎么实现

C#验证码的实现_验证码怎么实现一.编程思想(1).验证码由四位随机数字或者字母组成,此时就要考虑怎么获取随机数(2).各个字符之间怎么进行连接(3).当点击更换时会重新生成四位随机数(4).四位字符的显示二.代码的实现(1).引入伪随机数生成器Random,生成随机数实例化Random:Randomp=newRandom();//表示伪随机数生成器Randomp=newRandom();……

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一.编程思想

(1).验证码由四位随机数字或者字母组成,此时就要考虑怎么获取随机数
(2).各个字符之间怎么进行连接
(3).当点击更换时会重新生成四位随机数
(4).四位字符的显示

二.代码的实现

(1).引入伪随机数生成器 Random,生成随机数

实例化Random: Random p = new Random();//表示伪随机数生成器

 Random p = new Random();//表示伪随机数生成器
(2).储存字符串

当生成字符串时,我们需要对它进行存储,我们声明一个string变量对它进行存储

//验证码是随机的字符串
            string zf = "";
(3).四位验证码字符的生成:
int type = p.Next(1,3);Next返回指定范围内的整数,包小不包大;
zf+=:对四个字符进行连接;
label1.Text = zf; :label中进行显示字符串;
label1.ForeColor = Color.FromArgb(p.Next(0,255), p.Next(0, 255), p.Next(0, 255)); :实现整体颜色随机;
字符数据类型的转换:(char)p.Next(65,91)将int类型转化为char类型; p.Next(0,10).ToString();:将int类型转化为string类型;
 for (int i= 0;i<4;i++)
            { 
   
                //类型首先随机四种 0.大写 1.小写 2.数字
                int type = p.Next(1,3);//返回指定范围内的整数,包小不包大
                if (type==0)
                { 
   
                    zf+=((char)p.Next(97, 123)).ToString();
                    this.BackColor = Color.Green;
                }
                if (type==1)
                { 
   
                    zf+=((char)p.Next(65,91)).ToString();
                }
                if (type==2)
                { 
   
                    zf+=p.Next(0,10).ToString();
                }
                label1.Text = zf;
            }
            label1.ForeColor = Color.FromArgb(p.Next(0,255), p.Next(0, 255), p.Next(0, 255));
        }
(4).整体代码的实现
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 验证码
{ 
   
    public partial class Form1 : Form
    { 
   
        public Form1()
        { 
   
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        { 
   
            Text = "验证码";
            this.BackColor = Color.Green;
            label1.BackColor = Color.White;
        }
        private void button1_Click(object sender, EventArgs e)
        { 
   
            //验证码是随机的字符串
            string zf = "";
            //也就是随机函数对象
            Random p = new Random();//表示伪随机数生成器
            for (int i= 0;i<4;i++)
            { 
   
                //类型首先随机四种 0.大写 1.小写 2.数字
                int type = p.Next(1,3);//返回指定范围内的整数,包小不包大
                if (type==0)
                { 
   
                    zf+=((char)p.Next(97, 123)).ToString();
                    this.BackColor = Color.Green;
                }
                if (type==1)
                { 
   
                    zf+=((char)p.Next(65,91)).ToString();
                }
                if (type==2)
                { 
   
                    zf+=p.Next(0,10).ToString();
                }
                label1.Text = zf;
            }
            label1.ForeColor = Color.FromArgb(p.Next(0,255), p.Next(0, 255), p.Next(0, 255));
        }
    }
}
(5).效果展示图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195482.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 风控决策引擎经验

    风控决策引擎经验转载自https://mp.weixin.qq.com/s/LDcquVOTlCKJluyWG3AGAA一套完整的风控体系,在风控中,少不了决策引擎,今天就浅谈一下风控决策引擎。一、优先级风控决策引擎是一堆风控规则的集合,通过不同的分支、层层规则的递进关系进行运算。而既然是组合的概念,则在这些规则中,以什么样的顺序与优先级执行便额外重要。风控系统的作用在于识别绝对风控与标识相对风险…

    2022年6月15日
    50
  • win10安装JDK1.8及配置java环境变量详解

    win10安装JDK1.8及配置java环境变量详解首先下载一个jdk,可以通过这个链接下载:https://pan.baidu.com/s/1aP6SdL8UQK_C2GvALLb6Wg接下来就是安装,非常的简单,如下图所示:双击下载的文件,出现该界面,点击下一步。安装路径我们选择默认的,当然,我们也可也修改安装路径,但一定要记得安装路径,这里我们选择默认的。点击下一步。这里我们还是默认的安装路径。点击下一步。到此,安装就完成了…

    2022年7月23日
    7
  • 目标检测 | OHEM

    目标检测 | OHEM 这里主要说下该论文的hardmining过程: 先上图,如Figure2所示: 从图中可以看出,本文的亮点在于在每次迭代中,较少训练样本下,如何hardnegativemining,来提升效果。 即针对Fast-RCNN框架,在每次minibatch(1张或者2张)训练时加入在线筛选hardregion的策略,达到新的SoA。需要注意的是,这个OHEM适合于b…

    2022年5月28日
    34
  • 编程小白的博客日记[通俗易懂]

    编程小白的博客日记[通俗易懂]编程小白的博客日记2018-11-9星期五晴最近放假,一天下来好像什么都没干,不过今天去看了《毒液》,还是非常好看的,最皮我毒液!今天在网上看到一篇文章,是关于在python中使用you-get来下载网上的视频和音乐之类的,先打开cmd安装you-get,之后再打开一个cmd,输入you-get-o地址,然后就能下载视频了,不过如果这个视频在原…

    2022年6月9日
    34
  • WebStorm提示代码快捷键[通俗易懂]

    WebStorm提示代码快捷键[通俗易懂]刚开始用WebStorm,发现默认的提示功能Ctrl+space代码提示无效,修改为Alt+/。File—>Settings(Ctrl+Alt+s)—>Keymap添加快捷键时(这里以Alt+斜杠为例),直接按住Alt和斜杠键即可(不是手打字符上去的)。在需要提示的位置Alt+/ 就会出现提示代码。群中更多更全,加群获取下载。…

    2022年6月13日
    51
  • Java 序列化

    Java 序列化

    2021年10月7日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号