当前位置: 首页 > news >正文

铜仁网站网站建设网站经营网络备案信息

铜仁网站网站建设,网站经营网络备案信息,wordpress插件取消,贵阳经济技术开发区网站开发环境#xff1a;C##xff0c;VS2019#xff0c;.NET Core 3.1#xff0c;ASP.NET Core API 1、建立一个验证码控制器 新建两个方法Create和Check#xff0c;Create用于创建验证码#xff0c;Check用于验证它是否有效。 声明一个静态类变量存放列表#xff0c;列…开发环境C#VS2019.NET Core 3.1ASP.NET Core API 1、建立一个验证码控制器 新建两个方法Create和CheckCreate用于创建验证码Check用于验证它是否有效。 声明一个静态类变量存放列表列表中存放包含令牌和验证码的对象。 private static ListVCodeCalculateModel _list new ListVCodeCalculateModel();/// summary/// 返回一个图形验证码和令牌./// /summary/// returns/returns[HttpGet]public string Create(){VCodeCalculateModel model new VCodeCalculateModel();model.id Guid.NewGuid().ToString(); // 生成令牌var codes VCodeCalculateModel.GetVCode();var num1 codes.Item1;var num2 codes.Item2;var bool_operator codes.Item3;if (bool_operator){// 加法运算生成验证码model.code Convert.ToString(num1 num2);}else{// 减法运算生成验证码model.code Convert.ToString(num1 - num2);}_list.Add(model);// 返回对象VCodeCalculateController_Create_Receive result new VCodeCalculateController_Create_Receive();result.code 0;result.data new VCodeCalculateController_Create_Receive.Data();result.data.id model.id;var image VCodeCalculateModel.DrawImage(num1, num2, bool_operator);var base64 Utils.BitmapToBase64Str(image);result.data.img base64;var json JsonConvert.SerializeObject(result);return json;}/// summary/// 检查验证码是否有效/// /summary/// param nameid令牌./param/// param namecode验证码./param/// returns/returns[HttpGet]public string Check(string id, string code){try{var index _list.FindIndex(m {if (m.id.Equals(id) m.code.Equals(code)){return true;}return false;});ReceiveObject result new ReceiveObject();if (index 0){_list.RemoveAt(index);result.code 0;result.msg 验证成功;var json JsonConvert.SerializeObject(result);return json;}else{result.code 1;result.msg 验证失败;var json JsonConvert.SerializeObject(result);return json;}}catch (Exception ex){_logger.LogError(exception: ex, message: ex.Message);ReceiveObject result new ReceiveObject();result.code 999999;result.msg 系统异常;var json JsonConvert.SerializeObject(result);return json;}} 2、建立一个验证码模型 验证码模型类包括令牌和验证码属性。 再创建一个类存放Create方法返回的对象包括令牌验证码图片。 创建用于生成2个随机数和运算法的方法。 创建将2个随机数和运算法绘制成图片的方法。 /// summary/// 令牌./// /summarypublic string id { get; set; }/// summary/// 验证码./// /summarypublic string code { get; set; }/// summary/// 计算数字列表./// /summarystatic readonly int[] list new int[50]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12, 13, 14, 15, 16, 17, 18, 19, 20,21, 22, 23, 24, 25, 26, 27, 28, 29, 30,31, 32, 33, 34, 35, 36, 37, 38, 39, 40,41, 42, 43, 44, 45, 46, 47, 48, 49, 50,};/// summary/// 获取随机验证码./// /summary/// returnsitem1 - 第一个数字item2 - 第二个数字item3 - 运算符true - 加法 false - 减法/returnspublic static Tupleint, int, bool GetVCode(){Random random new Random();var index random.Next(0, list.Length);int num1 list[index];var index2 random.Next(0, list.Length);int num2 list[index2];bool bool_operator random.Next(0, 2) 1 ? true : false;return new Tupleint, int, bool(num1, num2, bool_operator);}/// summary/// 绘制验证码的图片./// /summary/// param namecode/param/// returns/returnspublic static Bitmap DrawImage(int num1, int num2, bool isAdd){Color[] list_color {Color.FromArgb(240, 230, 140), // 黄褐色亮Color.FromArgb(138, 54, 15), // 黄褐色暗Color.FromArgb(51, 161, 201), // 蓝色亮Color.FromArgb(25, 25, 112), // 蓝色暗Color.FromArgb(192, 192, 192), // 灰白亮Color.FromArgb(128, 128, 105), // 灰白暗};Random random new Random();// 创建画板Bitmap bitmap new Bitmap(150, 50);// 创建画笔Graphics grp Graphics.FromImage(bitmap);grp.Clear(Color.White); // 设置背景色为白色// 绘制噪点for (int i 0; i random.Next(60, 80); i){int x random.Next(bitmap.Width);int y random.Next(bitmap.Height);grp.DrawLine(new Pen(Color.LightGray, 1), x, y, x 1, y);}// 绘制随机的线条grp.DrawLine(new Pen(list_color[random.Next(list_color.Length)], random.Next(3)),new Point(random.Next(bitmap.Width / 2), random.Next(bitmap.Height / 2)),new Point(bitmap.Width / 2 random.Next(bitmap.Width / 2), bitmap.Height / 2 random.Next(bitmap.Height / 2)));// 绘制验证码string code string.Format({0}{1}{2}, num1, isAdd ? : -, num2);for (int i 0; i code.Length; i){var item code[i];grp.DrawString(item.ToString(),new Font(FontFamily.GenericSansSerif, 25, FontStyle.Bold),new SolidBrush(list_color[random.Next(list_color.Length)]),x: (150 / 5) * i,y: random.Next(5));}// 在验证码上绘制噪点for (int i 0; i random.Next(30, 50); i){int x random.Next(bitmap.Width);int y random.Next(bitmap.Height);grp.DrawLine(new Pen(list_color[random.Next(list_color.Length)], 1), x, y, x 1, y);}// 绘制随机的线条grp.DrawLine(new Pen(list_color[random.Next(list_color.Length)], random.Next(3)),new Point(random.Next(bitmap.Width / 2), random.Next(bitmap.Height / 2)),new Point(bitmap.Width / 2 random.Next(bitmap.Width / 2), bitmap.Height / 2 random.Next(bitmap.Height / 2)));return bitmap;}/// summary/// VCodeCalculateController控制器中Create方法的返回对象./// /summarypublic class VCodeCalculateController_Create_Receive : ReceiveObject{public Data data { get; set; }public class Data{/// summary/// 令牌./// /summarypublic string id { get; set; }/// summary/// Base64的验证码图片./// /summarypublic string img { get; set; }}} 运行效果
文章转载自:
http://www.morning.nqrlz.cn.gov.cn.nqrlz.cn
http://www.morning.fchkc.cn.gov.cn.fchkc.cn
http://www.morning.ylpwc.cn.gov.cn.ylpwc.cn
http://www.morning.skcmt.cn.gov.cn.skcmt.cn
http://www.morning.nydtt.cn.gov.cn.nydtt.cn
http://www.morning.jwcmq.cn.gov.cn.jwcmq.cn
http://www.morning.njpny.cn.gov.cn.njpny.cn
http://www.morning.dfdhx.cn.gov.cn.dfdhx.cn
http://www.morning.bsgfl.cn.gov.cn.bsgfl.cn
http://www.morning.lhrcr.cn.gov.cn.lhrcr.cn
http://www.morning.rkyw.cn.gov.cn.rkyw.cn
http://www.morning.qtfss.cn.gov.cn.qtfss.cn
http://www.morning.ysdwq.cn.gov.cn.ysdwq.cn
http://www.morning.tsmcc.cn.gov.cn.tsmcc.cn
http://www.morning.gwqcr.cn.gov.cn.gwqcr.cn
http://www.morning.zpjhh.cn.gov.cn.zpjhh.cn
http://www.morning.nnmnz.cn.gov.cn.nnmnz.cn
http://www.morning.mooncore.cn.gov.cn.mooncore.cn
http://www.morning.rjyd.cn.gov.cn.rjyd.cn
http://www.morning.jtfcd.cn.gov.cn.jtfcd.cn
http://www.morning.fxpyt.cn.gov.cn.fxpyt.cn
http://www.morning.jwrcz.cn.gov.cn.jwrcz.cn
http://www.morning.rqwwm.cn.gov.cn.rqwwm.cn
http://www.morning.htbsk.cn.gov.cn.htbsk.cn
http://www.morning.mbpzw.cn.gov.cn.mbpzw.cn
http://www.morning.jjzrh.cn.gov.cn.jjzrh.cn
http://www.morning.xswrb.cn.gov.cn.xswrb.cn
http://www.morning.xqtqm.cn.gov.cn.xqtqm.cn
http://www.morning.nzkkh.cn.gov.cn.nzkkh.cn
http://www.morning.mnkhk.cn.gov.cn.mnkhk.cn
http://www.morning.bnfrj.cn.gov.cn.bnfrj.cn
http://www.morning.mhcft.cn.gov.cn.mhcft.cn
http://www.morning.qwpyf.cn.gov.cn.qwpyf.cn
http://www.morning.ssjtr.cn.gov.cn.ssjtr.cn
http://www.morning.xqxrm.cn.gov.cn.xqxrm.cn
http://www.morning.jjzjn.cn.gov.cn.jjzjn.cn
http://www.morning.mxlmn.cn.gov.cn.mxlmn.cn
http://www.morning.mjkqj.cn.gov.cn.mjkqj.cn
http://www.morning.cykqb.cn.gov.cn.cykqb.cn
http://www.morning.rckmz.cn.gov.cn.rckmz.cn
http://www.morning.qkgwx.cn.gov.cn.qkgwx.cn
http://www.morning.sxfmg.cn.gov.cn.sxfmg.cn
http://www.morning.wpkr.cn.gov.cn.wpkr.cn
http://www.morning.ljcjc.cn.gov.cn.ljcjc.cn
http://www.morning.zjrnq.cn.gov.cn.zjrnq.cn
http://www.morning.qllcp.cn.gov.cn.qllcp.cn
http://www.morning.cfcdr.cn.gov.cn.cfcdr.cn
http://www.morning.mhrzd.cn.gov.cn.mhrzd.cn
http://www.morning.fxygn.cn.gov.cn.fxygn.cn
http://www.morning.rtspr.cn.gov.cn.rtspr.cn
http://www.morning.yhdqq.cn.gov.cn.yhdqq.cn
http://www.morning.rrcxs.cn.gov.cn.rrcxs.cn
http://www.morning.mtgkq.cn.gov.cn.mtgkq.cn
http://www.morning.jmspy.cn.gov.cn.jmspy.cn
http://www.morning.ndmh.cn.gov.cn.ndmh.cn
http://www.morning.rzcmn.cn.gov.cn.rzcmn.cn
http://www.morning.mingjiangds.com.gov.cn.mingjiangds.com
http://www.morning.rnsjp.cn.gov.cn.rnsjp.cn
http://www.morning.qbzdj.cn.gov.cn.qbzdj.cn
http://www.morning.qlsyf.cn.gov.cn.qlsyf.cn
http://www.morning.mrfjr.cn.gov.cn.mrfjr.cn
http://www.morning.cyjjp.cn.gov.cn.cyjjp.cn
http://www.morning.jbxmb.cn.gov.cn.jbxmb.cn
http://www.morning.hlhqs.cn.gov.cn.hlhqs.cn
http://www.morning.xmpbh.cn.gov.cn.xmpbh.cn
http://www.morning.pmdlk.cn.gov.cn.pmdlk.cn
http://www.morning.qtkfp.cn.gov.cn.qtkfp.cn
http://www.morning.gqhgl.cn.gov.cn.gqhgl.cn
http://www.morning.xtgzp.cn.gov.cn.xtgzp.cn
http://www.morning.znqxt.cn.gov.cn.znqxt.cn
http://www.morning.qtqk.cn.gov.cn.qtqk.cn
http://www.morning.hqqpy.cn.gov.cn.hqqpy.cn
http://www.morning.mnbcj.cn.gov.cn.mnbcj.cn
http://www.morning.qpljg.cn.gov.cn.qpljg.cn
http://www.morning.wtdhm.cn.gov.cn.wtdhm.cn
http://www.morning.fynkt.cn.gov.cn.fynkt.cn
http://www.morning.mmosan.com.gov.cn.mmosan.com
http://www.morning.wnxqf.cn.gov.cn.wnxqf.cn
http://www.morning.tdcql.cn.gov.cn.tdcql.cn
http://www.morning.fwqgy.cn.gov.cn.fwqgy.cn
http://www.tj-hxxt.cn/news/238029.html

相关文章:

  • 四川做文学有关的网站wordpress 产品多图
  • 邮箱网页版入口seo网站优化工具
  • php网站开发招招聘wordpress后台样式修改
  • 泰兴网站建设开发做网站需要什么cailiao
  • 温州网站优化wordpress跳转安装
  • 手机网站域名网站文章怎么做分享qq
  • 小企业网站建设厂家有哪些网站建设策划图片
  • 济南手机网站制作深圳网站建设招聘
  • 莱芜网站建设与管理网站开发周期安排
  • html5网站是用什么软件做的吗谷歌seo排名优化
  • 网站建设的需要是什么做云教育集群网站
  • 免费游戏网站建设雷锋书签制作图片
  • 工程机械网站设计佛山做优化的公司哪家好
  • 南阳市网站建设wordpress与织梦
  • 关于文化建设网站电商业务推广
  • 东莞长安网站制作计算机网络技术 网站建设
  • 医院网站建设医生需要做什么阿里云简单网站建设
  • 电商网站建设服务平台wordpress文章分类导航
  • 烘焙食品网站建设需求分析仿京东电商的网站开发报价
  • 中英文的网站设计电脑做系统都是英文选哪个网站
  • 语音网站怎么做怎么设置自己的网站
  • 网站优化seo教程flash网站系统
  • 做网站ps的图片上海人才网招聘网最新招聘
  • 黄石网站建设费用百度联盟怎么赚钱
  • 注册网站会员需要详细邢台市做网站
  • 莆田网站关键词优化网站被黑解决方案
  • 可以免费做简历的网站wordpress 自建网站
  • 微科技h5制作网站模板哪些网站的做的好看
  • 网站的维护电子商务网站开发技术支持
  • 制作网站的专业公司吗计算机网站建设 是什么