`
沉睡的鱼
  • 浏览: 71543 次
  • 性别: Icon_minigender_2
  • 来自: 石家庄
社区版块
存档分类
最新评论

验证码的秘密

阅读更多
/**
* 随机生成四位验证码,可以给代码写在servlet 里,将验证码保存在servlet类中 
     *   request.getSession().setAttribute("piccode", sb.toString());
     *   request.getSession().removeAttribute(sb.toString());
     *   ImageIO.write(img, "JPG", response.getOutputStream());
     *    用户输入的验证码 可以和session的属性做判断。
*/
public String GetImage()
{
BufferedImage img = new BufferedImage(63, 21,BufferedImage.TYPE_INT_BGR);
         Graphics g = img.getGraphics();
         Random r = new Random();
         Color c = new Color(200, 150, 255);
         g.setColor(c);
         g.fillRect(0, 0,63, 21);
         StringBuffer sb = new StringBuffer();
         char[] ch = "ABCDEFGHIJKLMNOPQRSTUVWXYZqwertyuioplkjhgfdsazxcvbnm0123456789".toCharArray();
         int index=0, len = ch.length;
         String verifyCode="";
         for (int i = 0; i < 4; i ++) {
          index = r.nextInt(len);
          g.setColor(new Color(r.nextInt(88), r.nextInt(188), r.nextInt(255)));
          g.setFont(new Font("Arial", Font.BOLD | Font.ITALIC, 18));
          //drawString(String str, int x, int y)  的后两个参数:最左侧字符的基线位于此图形上下文坐标系统的 (x, y) 位置处。
          g.drawString(""+ch[index] , (i * 15) + 3, 18);
          verifyCode+=ch[index];
          sb.append(ch[index]);
         
     }
        
   return sb.toString();
}
分享到:
评论

相关推荐

    Google reCaptcha验证码对接Demo

    这通常涉及到向Google的reCaptcha验证API发送一个POST请求,包含你的秘密密钥(不同于前端使用的站点密钥)和前端传来的`g-recaptcha-response`令牌。Google的服务器会检查这个令牌,如果验证通过,它会返回一个表示...

    Python解析最简单的验证码

    不过这是另外的话题,开始的时候我并没有发现这个隐藏起来的秘密,所以我就写了这个python代码段用来实现解析验证码的功能。  我们学校的验证码是最简单的验证码,形式大概如下:  其中这个图片的大小是60X24...

    WEB自动化测试基础05-验证码处理

    暗号法就是通过事先达成的一种秘密协议进行沟通,在这里是指让开发人员提供一个“万能验证码”,不论图片如何变化,只要输入万能验证码就能通过。但是这种方式同样会产生安全隐患,如果验证码被攻击者知道的话,所以...

    php类(分页+验证码+邮件处理)

    // 秘密抄送 var $mailfrom = ""; // 发件人 var $mailsubject = ""; // 主题 var $mailtext = ""; // 文本格式的信件主体 var $mailhtml = ""; // html格式的信件主体 var $mailattachments = ""; // 附件 /...

    botdetect-java-captcha-component-free.zip

    6. **验证机制**:生成的验证码图像将与服务器端的一个秘密值对应,用户提交验证码时,服务器会验证输入值是否与生成时的值匹配,从而确认用户身份。 7. **错误处理**:当用户多次输入错误的验证码时,组件可以自动...

    类似秘密的前后端

    这可能涉及验证码、速率限制、内容过滤等安全措施。 10. **可扩展性和性能**:为了应对高并发和大规模用户,应用需要设计为可扩展的。这可能涉及负载均衡、微服务架构、CDN(内容分发网络)等技术。 综上所述,...

    面向雾计算的压缩感知图像秘密传输和篡改恢复方案.docx

    5. **消息验证码(MAC)**:消息验证码是一种用于验证数据完整性的机制,本文采用基于压缩感知的MAC算法,以确保数据在传输过程中未经篡改。 6. **加密流程**:用户终端首先使用测量矩阵对图像进行压缩感知,生成...

    网络游戏-网络上的安全动态凭证分发.zip

    用户设备和服务器端都有一个共享的秘密密钥,通过这个密钥和当前时间生成验证码。只有当设备和服务器的时间同步且输入正确的验证码时,才能登录成功。 2. **挑战-应答法**:服务器向用户发送一个随机的挑战信息,...

    lapti-pow-captcha:工作量验证码,无需外部服务呼叫

    Lapti工作量验证码 通过本地托管的工作量证明算法来保护繁重的API方法。 主意 如果API中有一些方法需要花费很多时间来服务,则您可能需要防止它们受到DDoS攻击。 下文描述了一种这样做的方法。 服务器保留一些秘密...

    谷歌验证器代码

    这是一串秘密的十六进制字符串,用于恢复验证器应用中的所有账户。 - 尽管备份很重要,但必须妥善保管,因为任何人都可以使用种子密钥来生成验证码。 4. **安全考虑**: - 丢失手机或更换设备时,用户需要按照...

    Google Authenticator Chrome插件

    双因素身份验证是一种安全措施,要求用户在登录时提供两种身份验证方式,通常是已知的秘密(如密码)和拥有物(如手机接收的验证码)。Google Authenticator生成这些一次性密码,无需网络连接,因此即使账户信息被盗...

    基于身份、口令、生物特征的认证综述

    接着,深入分析了几种常见的身份认证技术,包括基于秘密知识(如口令)、智能卡以及生物特征(如指纹、虹膜、面部和笔迹)的认证方法。最后,报告还关注了动态口令身份认证技术的产生、设计思路和特点。 第一章 ...

    一个基于Laravel的手机号验证解决方案

    安装完成后,你需要在`config/services.php`文件中添加Nexmo的API密钥和秘密。例如: ```php 'nexmo' =&gt; [ 'key' =&gt; env('NEXMO_KEY'), 'secret' =&gt; env('NEXMO_SECRET'), 'sms_from' =&gt; env('NEXMO_FROM'), ...

    Spring cloud Oauth2使用授权码模式实现登录验证授权

    - 客户端应用接收到授权码后,向授权服务器发送请求,包含授权码、客户端ID、客户端秘密以及重定向URI,请求换取访问令牌(Access Token)和刷新令牌(Refresh Token)。 - 授权服务器验证信息无误后,返回访问...

    Special-Secret-Chat-app:这个针对开发人员的超级特殊秘密聊天应用程序,不用担心签出!

    这个项目是通过特殊的秘密聊天应用程序启动的! 可用脚本 在项目目录中,可以运行: npm start 在开发模式下运行应用程序。 打开在浏览器中查看它。 如果您进行编辑,则页面将重新加载。 您还将在控制台中看到任何...

    身份验证秘密

    即使攻击者获得了用户的密码,他们仍然需要第二重验证,如短信验证码、生物识别(指纹、面部识别)或硬件令牌。 3. **加密**:身份验证秘密需要在传输和存储时进行加密,以防止数据在传输过程中被窃取或在存储时被...

    1345个易语言模块

    1亦思验证码识别1.5免费版.ec 24位转单色位图模块.ec 32张发牌.ec 3D引擎支持库-eOgre.ec 69msn.ec ACCESS 到高级表格.ec Access操作.ec Access数据库压缩修复新建.ec ACCSEE记录显示到超级列表框模块.ec ACSII 加...

    Secrets:存储秘密的网站

    通常包括密码、短信验证码、生物识别(如指纹或面部识别)等方式,增加黑客攻击的难度。 3. **访问控制**:访问控制机制用于限制只有授权用户才能查看和管理他们的机密信息。这通常涉及到角色基础的访问控制(Role-...

    Laravel开发-nexmo

    Nexmo 提供的 API 可以集成到各种应用程序中,使企业能够与用户进行实时互动,实现验证码发送、订单通知、客户服务等多种场景的应用。 **三、Laravel 中集成 Nexmo** 在 Laravel 项目中使用 Nexmo,首先需要在项目...

Global site tag (gtag.js) - Google Analytics