using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace 落地页测试代码
{public class VerifyCode{public byte[] GetVerifyCode(){int codeW = 80;int codeH = 30;int fontSize = 16;string chkCode = string.Empty;//颜色列表,用于验证码、噪线、噪点 Color[] color = { Color.Black, Color.Red, Color.Blue, Color.Green, Color.Orange, Color.Brown, Color.Brown, Color.DarkBlue };//字体列表,用于验证码 string[] font = { "Times New Roman" };//验证码的字符集,去掉了一些容易混淆的字符 char[] character = { '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'd', 'e', 'f', 'h', 'k', 'm', 'n', 'r', 'x', 'y', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'R', 'S', 'T', 'W', 'X', 'Y' };Random rnd = new Random();//生成验证码字符串 for (int i = 0; i < 4; i++){chkCode += character[rnd.Next(character.Length)];}//写入Session、验证码MD5加密WebHelper.WriteSession("nfine_session_verifycode", Md5.md5(chkCode.ToLower(), 16)); //创建画布Bitmap bmp = new Bitmap(codeW, codeH);Graphics g = Graphics.FromImage(bmp);g.Clear(Color.White);//画噪线 for (int i = 0; i < 3; i++){int x1 = rnd.Next(codeW);int y1 = rnd.Next(codeH);int x2 = rnd.Next(codeW);int y2 = rnd.Next(codeH);Color clr = color[rnd.Next(color.Length)];g.DrawLine(new Pen(clr), x1, y1, x2, y2);}//画验证码字符串 for (int i = 0; i < chkCode.Length; i++){string fnt = font[rnd.Next(font.Length)];Font ft = new Font(fnt, fontSize);Color clr = color[rnd.Next(color.Length)];g.DrawString(chkCode[i].ToString(), ft, new SolidBrush(clr), (float)i * 18, (float)0);}//将验证码图片写入内存流,并将其以 "image/Png" 格式输出 MemoryStream ms = new MemoryStream();try{bmp.Save(ms, ImageFormat.Png);return ms.ToArray();}catch (Exception){return null;}finally{g.Dispose();bmp.Dispose();}}}
}

转载于:https://www.cnblogs.com/bin521/p/10569871.html

C# 登陆验证码工具类VerifyCode相关推荐

  1. java生成验证码工具类_Java生成图形验证码工具类

    生成验证码效果 validatecode.java 验证码生成类 package cn.dsna.util.images; import java.awt.color; import java.awt ...

  2. 邮箱发送验证码工具类

    1.邮箱支持引入到pom <dependency><groupId>org.springframework.boot</groupId><artifactId ...

  3. 直播平台开发,验证码工具类

    直播平台开发,合理使用验证码工具类 package com.ywfcake.demo.util;import lombok.extern.slf4j.Slf4j;import java.awt.*; ...

  4. aliyun短信服务包含随机生成四位数字验证码工具类

    .1.pom文件 <dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sd ...

  5. VerifyCodeUtil 验证码工具类的使用

    目录 一.VerifyCodeUtil 二.需要使用Base64Util 三.控制器使用生成 一.VerifyCodeUtil package com.baizhi.utils;import java ...

  6. Android图形验证码工具类

    移动端获取图形验证码有两种形式,一种是在本地随机生成进行验证,另一种是根据服务端返回的图片流设置到页面上,今天我们要做的就是根据服务端返回的操作图形验证码,完整demo地址:https://downl ...

  7. Java生成随机图片验证码工具类

    一.第一种生成随机图片验证码 public class VerifyCodeUtil {//生成随机数据的数据源 public static final String VERIFY_CODES = & ...

  8. Java手机号校验、短信验证码、验证码工具类

    1.手机号校验.生成短信验证码缓存redis.验证短信验证码 import com.ruoyi.common.constant.OpsConstants; import com.ruoyi.commo ...

  9. 验证码工具类 – Random – 随机数用法 – 豹子号 – 顺子号

    本页目录 高性能的随机数ThreadLocalRandom 京东说:避免Random实例(Random实例包括java.util.Random实例或者 Math.random()方法)被多线程使用,虽 ...

  10. 基于python的QQ第三方登陆实现工具类

    基于python的QQ第三方登陆 在做第三方登陆时,一共有如下的步骤 首先我们要获取QQ服务器的登陆地址 用户进行登陆 QQ服务器返回用户的对应code给前端 前端将用户code传输到后端 服务器获取 ...

最新文章

  1. 使用C++实现Socket编程图片打包传输(修改)
  2. 数据库字典php样色,使用PHP一键生成MySQL数据库字典
  3. 删除binlog mysql_mysql中删除binlog的方法?mysql中如何删除binlog?
  4. 经典递归——斐波那契数列,汉诺塔
  5. 【转】用matlab画极坐标图,希望不同的半径点对应不同颜色,应该怎么做?有什么函数
  6. 为什么Java里面的静态方法不能是抽象的
  7. 查找整数c语言编程,关于算法:查找整数的位数
  8. MVC3.0 将网站设为首页和加为收藏的实现(IE/Firefox)
  9. awk命令过滤tomcat的访日日志中IP地址
  10. 微信小程序使用代码切换底部导航
  11. 传google将要退出中国市场
  12. 【2019年05月28日】指数估值排名
  13. 【历史上的今天】5 月 25 日:雅虎与 eBay 联盟;第一次国际万维网会议;Google 街景发布
  14. caffe中loss函数代码分析--caffe学习(16)
  15. UGUI实现Joystick
  16. 记一次asp+mssql的注入和命令执行(已脱敏)
  17. Qt次线程向主程序发送信号收不到的问题
  18. 由2022的数学奥林匹克竞赛(IMO)说起
  19. 深圳财经生活频道--杨百万
  20. 透过代理加速 Github 访问

热门文章

  1. USB接口ID卡读卡器oem软件(vb源代码)
  2. windows10安装ninja过程记录
  3. TFTP服务器的使用
  4. 计算机access基础操作,计算机基础--ACCESS-要求与操作步骤.pdf
  5. webserver接口调用(一)
  6. 学习Python大数据之后,将来主要能做什么?
  7. 友图自动排料引擎 V1.0 开发指南
  8. Struts2框架的概念及使用方法
  9. 如何学习帆软FineReport
  10. proteus元件图片_最完整的Proteus元件库元件名称及中英对照表下载