`

登录随机码

    博客分类:
  • java
阅读更多
<%@ page contentType="image/jpeg" import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" %>
<%!
Color getRandColor(int fc,int bc){//给定范围获得随机颜色
Random random = new Random();
if(fc>255) fc=255;
if(bc>255) bc=255;
int r=fc+random.nextInt(bc-fc);
int g=fc+random.nextInt(bc-fc);
int b=fc+random.nextInt(bc-fc);
return new Color(r,g,b);
}
%>
<%
//设置页面不缓存
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);

// 在内存中创建图象
int width=60, height=20;
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

// 获取图形上下文
Graphics g = image.getGraphics();

//生成随机类
Random random = new Random();

// 设定背景色
g.setColor(getRandColor(200,250));
g.fillRect(0, 0, width, height);

//设定字体
g.setFont(new Font("Times New Roman",Font.PLAIN,18));

//画边框
g.setColor(new Color(255,255,255));
g.drawRect(0,0,width-1,height-1);

// 随机产生155条干扰线,使图象中的认证码不易被其它程序探测到
g.setColor(getRandColor(160,200));
for (int i=0;i<155;i++)
{
int x = random.nextInt(width);
int y = random.nextInt(height);
int xl = random.nextInt(12);
int yl = random.nextInt(12);
g.drawLine(x,y,x+xl,y+yl);
}

// 取随机产生的认证码(4位数字)
String sRand="";
for (int i=0;i<4;i++){
String rand=String.valueOf(random.nextInt(10));
sRand+=rand;
// 将认证码显示到图象中
g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));
//调用函数出来的颜色相同,可能是因为种子太接近,所以只能直接生成
g.drawString(rand,13*i+6,16);
}

// 将认证码存入SESSION
session.setAttribute("rand",sRand);

// 图象生效
g.dispose();

// 输出图象到页面
ImageIO.write(image, "JPEG", response.getOutputStream());

%>
 

分享到:
评论

相关推荐

    php生成随机密码

    php产生随机密码的多种方法供大家资源共享,新方法!多思路!

    ASP生成随机密码

    经过本人测试,没有问题的

    ios的随机密码生成器,支持密码的本地于服务器存储

    一个自己写的基于ios的密码随即生成器,一个密码本,支持用户登录云端与本地存储

    Django实现登录随机验证码的示例代码

    登录验证码是每个网站登录时的基本标配,网上也有很多相应的文章, 但是从生成验证码到 应用到自己的网站上的全步骤,并没有看到很多, 为了节约大家的时间,我把整体步骤写下来, 即拿即用哈 1. 生成随机验证码 ...

    随机密码生成器.zip

    当然,对一小部分人来说,这种无法识别的信息是可以再加工并恢复...登录网站、电子邮箱和银行取款时输入的“密码”其实严格来讲应该仅被称作“口令”,因为它不是本来意义上的“加密代码”,但是也可以称为秘密的号码。

    用户登录、管理及验证码生成ASP代码.rar

     将随机码存入:Session(“SafeCode”)  验证文件:ChkSafeCode.ASP  (4)验证图像的生成  一个BMP文件大体上分成图像文件头(BitmapFileHeader)、图像信息头(BitmapInfoHeader)、调色板(Palette)和图像数据...

    关于MD5加密,登录,随机码

    NULL 博文链接:https://qingwei201314.iteye.com/blog/1113682

    php生成随机密码的几种方法

     该算法主要用到了两个函数,mt_rand ( int $min , int $max )函数用于生成随机整数,其中 $min – $max 为 ASCII 码的范围,这里取 33 -126 ,可以根据需要调整范围,如ASCII码表中 97 – 122 位对应 a – z 的...

    js登录注册手机号验证判断密码难度,密码一致,随机验证码,和一致等

    登录注册手机号验证判断密码难度,密码一致,随机验证码,和一致等

    无session无cookie随机验证码控件

    在众多随机验证码控件中多数不是给予session就是给予cookie的随机验证码,但都有缺陷 (1)使用session,当用户很多时,服务器负荷验证增加,(2)客户端会反复出现验证不正确的现象 使用cookie,保存在客户端又不安全 ...

    android随机验证码

    Android随机生成验证码,Android利用随机数绘制不规则的验证码,加强用户登录或者注册的安全性 具体思路如下: 在一块固定宽高的画布上,画上固定个数的随机数字和字母,再画上固定条数的干扰线 随机数和干扰线的颜色...

    湖北电子身份证上机流程--武汉.docx

    具体使用流程如下:网民微信关注公众号“湖北公安政务平台”后注册登录➞进入微警务选择我的证件(身份证)➞点击查看随机码进行人脸识别比对后可获取随机码➞在PubwinOL服务端按快捷键Ctrl+3弹出湖北微警务身份证...

    随机生成验证码java源码

    随机生成手机验证码的java源码文件,结果是在后台输出,可根据选择生成几位随机码或者随机码是否带有字母。

    C#写的使用伪随机数加密技术加密用户登录密码的软件 可以作为课程设计

    C#写的使用伪随机数加密技术加密用户登录密码的软件 可以作为课程设计

    随机密码

    随机密码创建了一个密码生成器,以帮助人们创建安全密码,因此没有人可以获取其登录信息。 在随机密码文件中复制了index.html,style.css和script.js。 创建了一个数组列表,以便能够选择要随机选择的字符 创建了一...

    asp.net 完美随机验证码

    随机生成设定验证码,并随机旋转一定角度,字体颜色不同

    推荐效能密码管理器167版

    她不仅仅能帮助您记住普通密码信息,还可以记录网站登录密码、软件注册码、Email帐户密码甚至FTP帐户密码等信息;通过集成的随机密码生成器,可以节约您的时间并让密码具有更强的安全性。文件登录主密码采用SHA不...

    随机抽取小软件

    一款简单的随机抽选软件,默认登录用户名、密码:admin/123456。

    防盗密码管理器 v3.4.4.1060.zip

    随机号码、随机密码,自定类型、检测强度,牢不可破。 私人目录,自动定位,即时修复,跟随锁定,便携好管。 自动备份,四种方案,网络备份,定期提醒,不怕意外。 打印输出,可携可藏,自由交互;每日一帖,上手...

    幸运星随机抽奖系统V329

    《幸运星随机摇奖系统》:该软件最新设计,融合各家之长,适合用于各单位年终摇奖、晚会摇奖、商场促销摇奖、展销会摇奖、房展摇奖、车展摇奖等,软件也可用于各单位各部门在日常工作中随机分配任务。主要功能和特点...

Global site tag (gtag.js) - Google Analytics