首页 > 其他分享 >中文图形验证码 动态图形验证码 图片验证码 验证码【加逻辑思路解析】

中文图形验证码 动态图形验证码 图片验证码 验证码【加逻辑思路解析】

时间:2023-09-22 15:02:49浏览次数:28  
标签:case arr code 验证码 break ch 图形 解析

效果:

 

逻辑:生成数字随机数,再改为中文表示,返给前端。人为输入阿拉伯数字。(后端缓存中存入用户信息和随机数。做校验。)

主要测试code:

   Random rm = new Random();
        String strcode = Integer.toString(rm.nextInt(900000) + 100000);
        System.out.println("生成的随机数是: "+strcode);
        String[] code_ch_arr = {"一", "二", "三", "四", "五", "六", "七", "八", "九", "零"};
        String code_ch = "";
        for (int x = 0; x < strcode.length(); x++) {
            switch (String.valueOf(strcode.charAt(x))) {
                case "1":
                    code_ch += code_ch_arr[0];
                    break;
                case "2":
                    code_ch += code_ch_arr[1];
                    break;
                case "3":
                    code_ch += code_ch_arr[2];
                    break;
                case "4":
                    code_ch += code_ch_arr[3];
                    break;
                case "5":
                    code_ch += code_ch_arr[4];
                    break;
                case "6":
                    code_ch += code_ch_arr[5];
                    break;
                case "7":
                    code_ch += code_ch_arr[6];
                    break;
                case "8":
                    code_ch += code_ch_arr[7];
                    break;
                case "9":
                    code_ch += code_ch_arr[8];
                    break;
                case "0":
                    code_ch += code_ch_arr[9];
                    break;
                default:
                    break;
            }
        }
        System.out.println("中文表示的随机数是: " + code_ch);

  

标签:case,arr,code,验证码,break,ch,图形,解析
From: https://www.cnblogs.com/liuguiqing/p/17722366.html

相关文章

  • python中,如何优雅的解析和管理命令行参数
    背景我们在编写python程序时,程序中经常会提供多种功能或者模式,在实际使用时根据不同的参数使用不同的功能。那么如何获取命令行传入进来的参数呢?一般方法一般情况下,我们会使用sys模块,如......
  • 解析开合屏的产品优势和特点
    “开合屏,简而言之就是能够打开以及合并的led显示屏,各个LED屏幕之间可以根据指令来开与合。开与合的动作配合画面完成广告效果,那开合屏有着怎样的特点可以保持商显行业的巨头位置呢?一、定位精度高 使用直线导轨作为线性导引时,由于直线导轨的摩擦方式为滚动摩擦,不仅摩擦系数降低至滑......
  • cmake之解析宏或者函数参数
    本文将介绍cmake如何解析函数或者宏对应的参数列表语法查询打开cmake手册,查询cmake_parse_arguments关键字即可,如下图语法cmake_parse_arguments(<prefix><options><one_value_keywords><multi_value_keywords><args>...)cmake_parse_argum......
  • ZIP伪加密解析
    ZIP伪加密解析1、zip组成一个ZIP文件由三个部分组成:压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志。一个zip文件由这样三个部分组成_zip文件结构_一只独孤的程序猿的博客-CSDN博客2、实例压缩源文件数据区:504B0304:这是头文件标记(0x04034b50)1400:解压文......
  • 解析Vue项目
    解析Vue项目1、浏览器中访问某个地址,会显示某个页面的组件根组件:App.vue 2、配置路由router----》index.js---》constroutes=[{path:'/lqz',name:'lqz',component:Lqz#组件,需要导入......
  • 解析vue项目、
    解析一下vue项目1为什么浏览器中访问某个地址,会显示某个页面组件//-根组件:App.vue必须是<template><divid="app"><router-view></router-view></div></template>//-1配置路由router---......
  • zookeeper中zoo.cfg参数解析
    ticktime=20002000为通信心跳inilimit=10lf(leadersandfollow)初始通信时限10*2000添加配置server.A=B:C:DA是一个数字表示第几号服务器B是这个服务器的地址C是这个服务器follow和leader交换信息的端口D是万一服务器挂了需要一个端口重新来进行选举,选出一个新的leader,这......
  • ClickHouse(15)ClickHouse合并树MergeTree家族表引擎之GraphiteMergeTree详细解析
    GraphiteMergeTree该引擎用来对Graphite数据(图数据)进行瘦身及汇总。对于想使用ClickHouse来存储Graphite数据的开发者来说可能有用。如果不需要对Graphite数据做汇总,那么可以使用任意的ClickHouse表引擎;但若需要,那就采用GraphiteMergeTree引擎。它能减少存储空间,同时能提高Grap......
  • 无线振弦采集仪应用隧道安全监测的方案解析
    无线振弦采集仪应用隧道安全监测的方案解析隧道是一种特殊的工程结构,它们在道路、铁路和地铁等交通设施中起着至关重要的作用。隧道安全监测是确保隧道运行安全的必要手段之一,其中振弦采集仪是一种常用的监测设备。在本文中,我们将分析无线振弦采集仪在隧道安全监测中的应用方案。......
  • .netCore 图形验证码,非System.Drawing.Common
    netcore需要跨平台,说白点就是放在windows服务器要能用,放在linux服务器上也能用,甚至macos上。很多时候需要使用到图形验证码,这就有问题了。旧方案1.引入包<PackageReferenceInclude="System.Drawing.Common"Version="5.0.3"/>2.添加引用usingSystem.Drawing;usingSystem......