C#后台生成验证码
https://www.cnblogs.com/vchenpeng/archive/2013/05/12/3074887.html
/// <summary>
/// 获取时间戳
/// </summary>
/// <returns></returns>
public static string GetTimeStamp()
{
TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
return Convert.ToInt64(ts.TotalSeconds).ToString();
}
/// <summary>
/// 获取验证码
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string getCode(this string str)
{
int number;
char code;
string checkCode = String.Empty;
Random random = new Random();
foreach (char c in str)
{
number = random.Next();
if (c % 2 == 0)
{
code = (char)('0' + (char)(number % 10));
if (System.Text.RegularExpressions.Regex.IsMatch(code.ToString(), "^[0-9]+$"))
{
checkCode += code;
}
}
else
{
code = (char)('C' + (char)(number % 26));
if (System.Text.RegularExpressions.Regex.IsMatch(code.ToString(), "^[A-Z]+$"))
{
checkCode += code;
}
}
}
return checkCode;
}
/// <summary>
2 /// 动态生成指定数目的随机数或字母
3 /// </summary>
4 /// <param name="num">整数</param>
5 /// <returns>返回验证码字符串</returns>
6 private string GenerateCheckCode(int num)
7 {
8 int number; //定义变量
9 char code;
10 string checkCode = String.Empty; //空字符串,只读
11 Random random = new Random(); //定义随机变量实例
12 for (int i=0; i < num;i++ )
13 {
14 //利用for循环生成指定数目的随机数或字母
15 number = random.Next(); //返回一个小于指定的最大值的非负的随机数 next有三个构造函数
16 if (number % 2 == 0)
17 {
18 //产生一个一位数
19 code = (char)('0' + (char)(number % 10));
20 }
21 else
22 {
23 //产生一个字母
24 code = (char)('C'+(char)(number % 26));
25 }
26 checkCode += code.ToString();
27 }
28 return checkCode;
29 }
C#后台生成验证码的更多相关文章
- springmvc后台生成验证码
url http://localhost:8080/admin/getCode http://localhost:8080/admin/checkCode controller package com ...
- PHP-仿ecshop生成验证码
<?php /* 生成验证码 */ // 1.创建画布(基于已有图像) $n = mt_rand(1,5); $im = imagecreatefromjpeg('./images/captch ...
- Asp.net mvc生成验证码
1.生成验证码类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using ...
- SpringMvc项目中使用GoogleKaptcha 生成验证码
前言:google captcha 是google生成验证码的一个工具类,其原理是将随机生成字符串保存到session中,同时以图片的形式返回给页面,之后前台页面提交到后台进行对比. 1.jar包准备 ...
- 【开发技术】Java生成验证码
Java生成验证码 为了防止用户恶意,或者使用软件外挂提交一些内容,就得用验证码来阻止,虽然这个会影响用户体验,但为了避免一些问题很多网站都使用了验证码;今天下午参考文档弄了一个验证码,这里分享一下; ...
- Dede织梦验证码不显示,织梦后台登陆验证码不显示解决方法
关于"织梦验证码不显示"的解决方法 "织梦验证码无法显示出来"的问题分析? 1.之前显示正常,但是换了服务器后就不能够正常显示:(这种通常是网站程序经过迁移后所 ...
- Java生成验证码_转
为了防止用户恶意,或者使用软件外挂提交一些内容,就得用验证码来阻止,虽然这个会影响用户体验,但为了避免一些问题很多网站都使用了验证码;今天下午参考文档弄了一个验证码,这里分享一下;这是一个web工程, ...
- java生成验证码结合springMVC
在用户登录的时候,为了防止机器人攻击都会设置输入验证码,本篇文章就是介绍java如何生成验证码并使用在springMVC项目中的. 第一步:引入生成图片验证码的工具类 import java.awt. ...
- Dedecms织梦后台登陆验证码不显示几种解决方法
Dedecms织梦后台登陆验证码不显示几种解决方法,服务器所造成的验证码不显示问题看这里: 方法一:查看服务器的php版本是否与程序版本兼容(织梦程序PHP版本查看方法:打开www.96net.com ...
随机推荐
- thinkphp整合系列之极验滑动验证码
对于建站的筒子们来说:垃圾广告真是让人深恶痛绝:为了清净:搞个难以识别的验证码吧:又被用户各种吐槽:直到后来出现了极验这个滑动的验证码:这真是一个体验好安全高的方案:官网:http://www.gee ...
- memset的实验
关于memset的实验 实验一:memset对char数组赋初值 #include<iostream> using namespace std; int main() { char a ...
- eclipse设置author等注释
windows--> preference--> PyDev --> Editor --> Templates 点击New,新建一个template,输入name(之后选择这个 ...
- Linux分区的注意事项以及远程连接排错
分区方式一般有三种 第一种:数据不是很重要 /boot(系统的引导分区): 系统引导的信息/软件 系统的内核 200M swap( 交换分区): 为了避免系统内存用光了导致系统 宕机 如果系统内存 ...
- Windows_server_2012-r2_x64安装教程
版本: Windows_server_2012-r2_x64 工具: VMware vSphere Client 镜像地址: http://www.xpgod.com/soft/10718.html( ...
- DEBUG技巧-设定合适的日志级别
有些技能只有踩过坑的人才能够掌握,能用来避免后来的坑,很多时候是用凌晨的时间换来的,我们通常把他叫做经验. 故事 这个一个关于springmvc的坑的故事. 某天晚上本打算一个小功能分分钟搞定上线,但 ...
- C#复习资料
C#期末考试复习题 一.单项选择题(每小题2分,共20分) 1.在类作用域中能够通过直接使用该类的( )成员名进行访问. A. 私有 B. 公用 C. 保护 D. 任 ...
- oracle 10g下范围分区扫描的几种方式
oracle 10g下有几种扫描方式,注意最后一种扫描方式,当对分区的列进行计算时,会不走分区.这跟对索引列进行计算会导致无法用索引一样. --扫描单个分区 PARTITION RANGE SING ...
- Object-C与Swift混合开发
Object-C作为Apple的iOS App开发语言服务了很多个年头,2014年Apple推出了新的编程语言Swift.更高效更安全的口号再次吸引了一大批非iOS开发程序猿进入,小编觉得Swift代 ...
- Android Library projetcts cannot be exported.
记一次比較无语的犯错,前几天我在紧急打包一个apk的时候.遇到了这样一个异常:Android Library projetcts cannot be exported. 异常提示截图例如以下: wat ...