登录页面生成验证码

页面登录中一般会加入一些不同的东西,例如:验证码,验证码中有数字验证,数字字母结合验证还有图片验证等等,这是登录时使用的一种方式,验证码是随机生成,可以获得随机字符串(string),随机数字的长度(length),产生数字和密码混合的随机数,MVC(model view control)中自带一个类Random(表示伪随机数生成器,一种能够产生满足某些随机性统计要求的数字序列的设备);
代码事例:
Public static string 自定义code(int intLength)
{
String strReturn=string.Empty;//字符串
Random random=new Random();//随机数
for (int i = 0; i < intLength; i++)
{ char cRerult;
int intRandom = random.Next();//产生一个非负随机整数
/根据当前随机数来确定字符串/
//intRandom % 3 获取的是intRandom/3 得到的余数
if (intRandom % 3 == 0)
{
//产生数字
//位数来产生数字
cRerult = (char)(0x30 + (intRandom % 10));
}
else if (intRandom % 3 == 1)
{
//位数产生大写字母:大写字符 65-97 A 65
//68 D 25 Z
cRerult = (char)(0x41 + (intRandom % 0x1a));
}
else
{
//余数为2
//产生小写字母 98 -116
cRerult = (char)(0x61 + (intRandom % 0x1a));
}
strReturn += cRerult.ToString();//字符串自增
}
return strReturn;//最后返回值
}
}
上面是字符串随机生成,接下来创建验证码图片,设置图片的二进制数组,随后图片新增,在图片上绘制文字和在图片上绘制干扰线,新增图片Bitmap(封装 GDI+ 位图,此位图由图形图像及其特性的像素数据组成。 System.Drawing.Bitmap 是用于处理由像素数据定义的图像的对象);
Bitmap newBitmap = new Bitmap(strRandom.Length * 20, 38);//新增图片
Graphics g = Graphics.FromImage(newBitmap);//在图片上绘制文字和绘制干扰线声明;
g.Clear(Color.White);//设置图片颜色
代码事例图:
登录页面生成验证码
图案绘制,对验证码里面的,字符串进行修饰;
随后引用到css代码中: //1.生成长度为5的随机的验证码字符串
string strRandom = ValidCodeUtils.GetRandomCode(5);
//2、根据生成的验证码字符串生成 验证码图片
byte[] byteImg = ValidCodeUtils.CreateImage(strRandom);
//3、将验证码字符串存入session中 key值为
Session[“validCode”] = strRandom;
//4、把图片返回到视图
return File(byteImg, @“image/jpeg”);
开始为数据验证增加图片,设置img的src:
登录页面生成验证码
作者:zc
日期:2019.05.13