java动态实现登录验证

通过java语言,实现验证码登录界面 通过eclipse,用java语言实现验证码登录界面 大家好,我是海Dao船长,今天就让船长带领我们实现验证码登陆界面吧。当然以下只是我的个人想法,如若哪里写的不恰当,请各位海涵,并且及时纠正,以至于我们共同进步。 登录流程如下: 客户端进行表单的填写,输入随机产生的验证码,进行表单提交,服务器端接收表单内容,首先验证客户端输入的验证码与session中随机产生的验证码是否相同,... 阅读详情
  我们在登录的时候,常常要用到验证码,其实java也提供了验证码,而且非常的简单,从网上找到代码,然后放到自己的action中,稍微做下修改,绑定到作用域里面,在页面读取就可以使用。 下面我们来看看具体的代码:
  1. <%@ page contentType="image/jpeg" import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" %>
  2. <%!
  3. Color getRandColor(int fc,int bc){//给定范围获得随机颜色
  4. Random random = new Random();
  5. if(fc>255) fc=255;
  6. if(bc>255) bc=255;
  7. int r=fc+random.nextInt(bc-fc);
  8. int g=fc+random.nextInt(bc-fc);
  9. int b=fc+random.nextInt(bc-fc);
  10. return new Color(r,g,b);
  11. }
  12. %>
  13. <%
  14. //设置页面不缓存
  15. response.setHeader("Pragma","No-cache");
  16. response.setHeader("Cache-Control","no-cache");
  17. response.setDateHeader("Expires", 0);

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

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

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

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

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

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


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

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

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


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

  58. // 输出图象到页面
  59. ImageIO.write(image, "JPEG", response.getOutputStream());
  60. out.clear();
  61. out = pageContext.pushBody();
  62. %>
复制代码


 

 

转载自:http://www.csdnjava.com/forum.php?mod=viewthread&tid=720&extra=page%3D1

SNN系列|编码篇(2)时序编码 Tempotral Coding 选择编码方法是要根据编码对象以及模型如何处理编码信息进行选择,如下是一种时序信息的编码对比: Threshold-based encoding 又称为tempotral contrast,该方法可以用于编解码一段序列,当差值超过阈值时发放脉冲,阈值是根据编码的序列自适应变化的。 使用该编码方法时,实值序列最好是沿时间变化的,因为在根据差分决定是否发放脉冲后,脉冲的顺序与差分顺序有关。 Time-to-first spike coding 该编码方法将信息用神经元首次 阅读详情

相关推荐

基于python+flask框架的基于微信小程序的CR公司建设项目信息管理系统-前台(开题+程序+论文) 计算机毕设

特别是随着移动互联网技术的普及,企业对便捷、高效的信息管理系统的需求日益迫切。另一方面,该系统集成了仓管、物料、财务、人事、供应商等多个模块,实现了数据的集中管理和信息共享,有助于企业实现精细化管理,降低运营成本,提升决策效率。:深入调研CR公司的业务需求,明确系统应具备的功能模块,包括仓管员管理模块(物料信息、退回记录、申请信息、仓库信息管理)、财务员管理模块(资金信息管理、采购与租赁款项处理)、人事管理模块、供应商管理模块、项目管理模块(项目信息、设备采购、物料采购、设备租赁)、以及考勤打卡模块等。

zhihao503的博客 960

JavaWeb之Servlet——用户登录验证

咱们 JavaSE 说完了数据库也说的差不多了那么今天我们来聊聊Servlet 吧~只是说知识点的话~相信小伙伴们是看不下去的~咱们直接上案例吧~来一个从前端获取用户信息...

java面试笔试 2832

研发工作量科学量化评估模型:从多维系数到等级落地指南

摘要:本文提出了一套基于多维系数的科学量化评估模型,用于精准评估软件开发工作量。该模型从需求复杂度、技术难度、质量要求和依赖风险四个核心维度进行量化评估,通过系数乘积计算综合工作量。文章详细说明了各维度的系数区间划分标准,并演示了从基础工作量估算到综合系数计算的具体步骤。该模型通过结构化评估过程,将主观经验转化为客观量化指标,帮助团队提高工作量评估的准确性,增强项目交付的可预测性。其价值在于使评估过程透明化、结构化和可追溯,从而减少项目延期风险,优化资源规划。

友莘居士的博客 1679

登录(login)servlet实现

1.首先新建一个项目 输入您的项目名称 2.在项目java Resources中的src创建一个包(package) 3.在创建的包里面创建一个servlet 给自己的servlet取一个名字 4.创建完成 我这个是快捷创建直接创建的servlet新手建议先创建一个java文件 然后继承 Httpservlet 还有快捷创建无需配置xml 但是还是展示一下如何手动创建xml...

weixin_43052540的博客 2万+

OpenClaw + Ollama 本地大模型部署教程:彻底告别Token焦虑

OpenClaw + Ollama 本地大模型部署教程:彻底告别Token焦虑

leaning_java的博客 1226

水下井口装置及钻杆建模

内容:海上油气资源开采的过程中,通常会由海上钻井平台下入钻杆连接到海底井口装置。OrcaFlex软件可进行各种海洋工程结构动态分析,通过各项数据的输入,能够很方便地进行水下井口装置及钻杆建模。直接使用软件New Line及new vessel功能,再设置模型的各项参数(几何属性、弯曲刚度、轴线刚度、扭转刚度、泊松比等)即可建成井口装置及钻杆模型。 设置管线的几何属性:主要包括管线的内外径、壁厚、...

s0302017的博客 1144

Java实现登录动态验证码图片登录(IDEA2024版本实现)

生成动态图片验证码,提高安全性

lrk__的博客 485

手把手教你学Simulink——基于Simulink的模糊自适应PI调节FOC电流环

本文提出基于模糊自适应PI控制的FOC电流环优化方案,针对传统PI控制参数固化、抗扰性差等问题,通过模糊逻辑在线调整PI参数。方案采用双输入(电流误差及变化率)和三输出(ΔKp/ΔKi/PI调节)结构,实现动态响应时间<30μs(提升38%)、超调<5%(降低71%)、参数摄动下误差<±0.4A(精度提升73%)。详细介绍了Simulink建模步骤,包括模糊规则设计(7语言变量、49条规则)、隶属度函数配置及自适应PI实现逻辑,并提供实机部署建议。仿真结果表明,该方法显著提升系统鲁棒性,特

MHD0815的博客 79

IDEA+java通过SSH来进行分析日志,实现UI自动化动态验证码登录

在我写自动化脚本的时候是要真实发送验证码才能往下进行UI自动化 思路:验证码会显示在哪些地方,手机短信?数据库存储?日志? 完整代码如下: package guanyu.tools; import com.jcraft.jsch.*; //import jdk.nashorn.tools.Shell; import java.awt.*; import java.io.BufferedR...

180811的博客 285

2024年Unity 面试题 |五萬字 二佰道| Unity面试题大全,面试题总结【全网最全,收藏一篇足够面试】

正所谓 金三银四 ,又到了找工作的大好时机了,不知道大家有没有意向找一份更好的工作呢~ 之前写了很多Unity的学习和实例文章,但是面试题部分还没有一个系统的整理。 那本篇文章就来整理一下Unity中一些常见的面试题,说不准就会面试的时候就会遇到! 本篇文章会将Unity所有方面的面试资料都融会贯通,绝对是2022年Unity面试领域最实用的文章啦!

努力前行,总会成为自己心中的那道光 17万+

基于Python的上市公司年报PDF文本抓取与财务风险分析系统

随着大数据时代的到来,金融数据分析已成为投资决策和风险管理的重要工具。上市公司年报包含了丰富的财务信息和经营数据,通过对这些数据的提取和分析,可以评估公司的财务状况和潜在风险。本文将详细介绍如何使用Python构建一个完整的上市公司年报文本抓取与财务风险分析系统,涵盖PDF文本提取、数据清洗、财务指标计算和风险分析等全流程。

2201_76125261的博客 311

Java实现TOTP动态口令验证

动态口令使用场景 服务器登录动态口令验证 WEB应用密码登录二次验证 银行转账动态口令 package org.totp.commons.util; import org.apache.commons.codec.binary.Base32; import org.apache.commons.lang3.RandomStringUtils; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; import java.

netuser1937的博客 2414

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

java口令_java动态口令登录实现过程详解

1.实现一个ItsClient 客户端用来实例化调用验证功能public class ItsClient {private static final String routing = "/v1.0/sectoken/otp_validation";// ! HTTPS消息验证地址private String httpsVerifyUrl = "";// ! otp ipAddrprivate St...

weixin_34406909的博客 853

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

java通过ssh读取日志_IDEA+java通过SSH来进行分析日志,实现UI自动化动态验证码登录...

在我写自动化脚本的时候是要真实发送验证码才能往下进行UI自动化思路:验证码会显示在哪些地方,手机短信?数据库存储?日志?完整代码如下:package guanyu.tools;import com.jcraft.jsch.*;//import jdk.nashorn.tools.Shell;import java.awt.*;import java.io.BufferedReader;import...

weixin_30620121的博客 335

java登录和验证码同时_Java登录页面实时验证用户名密码和动态验证码

●登录名和密码是同时验证的,并不是先验证登录名是否存在,然后再验证密码是否正确,是同时进行验证,若登录名和密码当中一个条件不符合,则提示用户登录名或者密码错误,这样做的意义是为了保证用户信息的安全(防止登录名泄漏),现在web工程多是这么进行登录用户名和密码的验证●动态验证码是采用Image的一个servlert实时生成动态验证码,并且servlert将生成的动态验证码保存在session中,在j...

weixin_33567029的博客 1429

java 登录验证码_java jsp实现登录验证码

java jsp实现登录验证码工作中使用的java jsp实现的登录验证码。代码记录如下:1.登录主页面(login.jsp)pageEncoding="UTF-8"%>登录function refresh() {//IE存在缓存,需要new Date()实现更换路径的作用document.getElementById("image").src="../login/image.jsp?"+n...

weixin_39684454的博客 661

登录验证码原理与Java实现

登录验证码用于防止恶意程序暴力破解账户,其核心是利用人眼易识别而计算机难解析的图像特征。服务器生成随机字符并绘制为干扰图,客户端输入后比对验证。文中提供了多种Java实现方式,包括Struts、Spring MVC和原生Servlet,涵盖图形生成、噪声添加及会话存储等关键步骤。

weixin_29940495的博客 894

java动态生成验证码图片

实现动态生成验证码图片.代码如下: /** * * @author KingDom * 动态生成验证码图片 */ public class VerifyCode { private int w=70; private int h=35; private Random r= new Random(); priva

1036

网页登录时验证码功能的实现

网页登录时验证码功能的实现 在我们日常上网时,经常会遇到要登录的界面,我们会发现他会让你输入账号,密码外,还需要输入随机生成的验证码。 作用: 不少网站为了防止用户利用机器人自动注册、登录、灌水,都采用了验证码技术。所谓验证码,就是将一串随机产生的数字或符号,生成一幅图片,图片里加上一些干扰象素(防止OCR),由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功后才能使用某项功能...

weixin_45089791的博客 1万+

java实现动态验证码生成(转)

本文转自http://www.iteye.com/topic/370847 1,生成动态验证码的Servlet。 Java代码   package com.xcu.web;      import java.awt.Color;   import java.awt.Font;   import java.awt.Graphics2D;   import ja

maddenedsnail的专栏 7205

java 手机动态口令_java动态口令登录实现过程详解

java动态口令登录实现过程详解发布于 2020-11-30|复制链接摘记: 1.实现一个ItsClient 客户端用来实例化调用验证功能```jfxpublic class ItsClient {private static final String routing = "/v1.0/sectoken/otp_validation";// ! HTTPS消息 ..1.实现一个ItsClient ...

weixin_42310670的博客 326

java实现用户通过opt动态口令登录系统

在Java中实现一个基于动态口令(OTP, One-Time Password)的用户登录系统,通常涉及到几个关键组件:用户身份验证、OTP生成与验证、以及安全存储用户信息。下面简单介绍一下如何实现用户通过动态口令进行登录。

ts977的博客 1641

web登录验证码生成

目的:实现在登录表单验证码的生成 声明:我是参考别人的例子,代码大部分也是引用的 原理:是在要显示验证码的地方用&lt;img&gt;,它的src指向了另一个生成验证码的jsp页面(用controller的url指向一个jsp页面),在生成验证码jsp页面的java代码里生成一张验证码图片 代码里注释已经非常详情,这里就不做多说了! 提交表单的登录页面 login.jsp ...

weixin_42132143的博客 585

java 动态令牌_java动态口令登录实现过程详解

1.实现一个ItsClient 客户端用来实例化调用验证功能public class ItsClient {private static final String routing = "/v1.0/sectoken/otp_validation";// ! HTTPS消息验证地址private String httpsVerifyUrl = "";// ! otp ipAddrprivate St...

weixin_30621659的博客 521

java验证用户名和密码_Java登录页面实时验证用户名密码和动态验证码

●登录名和密码是同时验证的,并不是先验证登录名是否存在,然后再验证密码是否正确,是同时进行验证,若登录名和密码当中一个条件不符合,则提示用户登录名或者密码错误,这样做的意义是为了保证用户信息的安全(防止登录名泄漏),现在web工程多是这么进行登录用户名和密码的验证●动态验证码是采用Image的一个servlert实时生成动态验证码,并且servlert将生成的动态验证码保存在session中,在j...

weixin_29246195的博客 3404
上一篇: spring视频教程
下一篇: struts2 ajax post提交例子详解|struts2学习与交流|j2ee学习网
全栈独立开发者
博客等级 码龄19年 26粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值