精华内容
下载资源
问答
  • 随机生成一个6位数的验证码,验证码中可以有大写字母,小写字母,至少有一个数字; 分析: 随机生成6位数的验证码,必须会使用Random; 而Random只能生成数字,思考,如何将数字转换成字符呢? 思路1: 1: 提...

    `在这里插入代码片)

    import java.util.Random;
    
    /*
        要求:
            随机生成一个6位数的验证码,验证码中可以有大写字母,小写字母,至少有一个数字;
        分析:
            随机生成6位数的验证码,必须会使用Random;
            而Random只能生成数字,思考,如何将数字转换成字符呢?
            思路1:
            1: 提前写出来所有的合法的字符,然后,将生成的随机数当成索引使用;
            A-Z  a-z  0-9
            为了保证至少有一个数字,可以利用setChar方法,随机将已经存在的字符串中的某一个字符修改为我们的数字;
            思路2:
            2: 直接将生成的随机数利用强制类型转换,根据ASCII码值,将数字转成字符;
            可以将随机数的范围设定为  65  -  122 然后再利用if语句,去除不合法的数据;
    
    
     */
    public class YZM {
        public static void main(String[] args) {
            String s = yzm1();
            System.out.println("使用思路1生成的验证码是:"+s);
            String s2 = yzm2();
            System.out.println("使用思路2生成的验证码是:"+s2);
        }
        //思路1:
        public static String yzm1(){
            //提前写出来所有的合法的字符,然后,将生成的随机数当成索引使用;
            StringBuilder sb = new StringBuilder();
            // 直接利用for循环,可以将所有合法的字符添加到sb对象中
            for (char i = 'A'; i <='Z' ; i++) {
                sb.append(i);
            }
            for (char i = 'a'; i <='z' ; i++) {
                sb.append(i);
            }
            for (char i = '0'; i <='9' ; i++) {
                sb.append(i);
            }
            //System.out.println(sb);
            //到此处,所有的合法字符都已经保存到了sb对象中
            //sb2用于保存最终生成的验证码
            StringBuilder sb2 = new StringBuilder();
            Random r = new Random();
            for (int i = 0; i <6; i++) {
                //每循环一次,从sb中随机获取一个字符,并添加到sb2中
                int index=r.nextInt(sb.length());
                char c = sb.charAt(index);//从sb中随机获取一个字符
                sb2.append(c);//添加到sb2中
            }
            //System.out.println(sb2);
            //为了保证至少有一个数字,可以利用setCharAt方法,随机将已经存在的字符串中的某一个字符修改为我们的数字;
            //随机生成0  9之间的一个字符
            int i=r.nextInt(57-48+1)+48;
            char c =(char)i;
            int index = r.nextInt(sb2.length());
            sb2.setCharAt(index,c);//至少有一个数字;
            return sb2.toString();
        }
        //思路2:
        public static String yzm2(){
            /*
             2: 直接将生成的随机数利用强制类型转换,根据ASCII码值,将数字转成字符;
            可以将随机数的范围设定为  65  -  122 然后再利用if语句,去除不合法的数据;
             */
            //sb2用于保存最终生成的验证码
            StringBuilder sb2 = new StringBuilder();
            Random r = new Random();
            //循环6次,生成6个字符,添加到sb2对象中
            for (int i = 0; i <6 ; i++) {
                //每循环一次,生成一个65--122之间的数字,
                int zhi=r.nextInt(122-65+1)+65;
                //利用if语句,去除不合法的数据;
                if(zhi>=91&&zhi<=96){
                    i--;// 将这一次循环的机会补回来
                    continue;
                }
                //当代码执行到这里的时候,证明这个  zhi是合法的
                sb2.append((char) zhi);
            }
            //为了保证至少有一个数字,可以利用setCharAt方法,随机将已经存在的字符串中的某一个字符修改为我们的数字;
            //随机生成0  9之间的一个字符
            int i=r.nextInt(57-48+1)+48;
            char c =(char)i;
            int index = r.nextInt(sb2.length());
            sb2.setCharAt(index,c);//至少有一个数字;
            return sb2.toString();
        }
    }
    
    展开全文
  • package work11;...随机生成一个6位的验证码,包含数字和大小写字母; public class SecurityCode { public static String getSecurityCode(int n) //n-->验证码位数 { Random ran = new Rand...
    package work11;
    
    import java.util.Random;
    
    //1.随机生成一个6位的验证码,包含数字和大小写字母;
    public class SecurityCode {
        public static String getSecurityCode(int n)  //n-->验证码位数
        {
            Random ran = new Random();
            String s = "0123456789abcdefghijklmnopqrstvuwxyzABCDEFGHIJKLMNOPQRSTVUWXYZ";
    
            char[] ch = new char[n];
    
            for (int i=0;i<n;i++)
            {
                int pos = ran.nextInt(s.length());  //随机或的 0 到 s.length()-1 的数值
                char c = s.charAt(pos);  //返回指定索引处的 char 值。
                ch[i] = c;
            }
            String str = new String(ch);
            return str;
        }
    
        public static void main(String[] args) {
            System.out.println(getSecurityCode(11));
        }
    }
    
    
    
    

     

    展开全文
  • 代码如下:数字密码: 方法(1): public static void main(String[] args) { String code=""; Random rand=new Random();//生成随机数 for(int a=0;a&...//生成6位验证码 } ...

    代码如下:

    数字密码: 
    方法(1):

        public static void main(String[] args) {
             String code="";
        Random rand=new Random();//生成随机数
        for(int a=0;a<6;a++){
        code+=rand.nextInt(10);//生成6位验证码
          }
          system.out.println("随机数为"+code);
        }

    方法(2): 
    封装的数字密码:

       public static int getRandNum(int min, int max) {
        int randNum = min + (int)(Math.random() * ((max - min) + 1));
        return randNum;
       }
       @Test
       public void rand(){
        System.out.println("随机数为" + getRandNum(1,999999));
       }

    方法(3): 
    数字加字母的密码:

     public class StringRandom {  
    
        //生成随机数字和字母,  
        public String getStringRandom(int length) {  
    
            String val = "";  
            Random random = new Random();        
            //length为几位密码 
            for(int i = 0; i < length; i++) {          
                String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num";  
                //输出字母还是数字  
                if( "char".equalsIgnoreCase(charOrNum) ) {  
                    //输出是大写字母还是小写字母  
                    int temp = random.nextInt(2) % 2 == 0 ? 65 : 97;  
                    val += (char)(random.nextInt(26) + temp);  
                } else if( "num".equalsIgnoreCase(charOrNum) ) {  
                    val += String.valueOf(random.nextInt(10));  
                }  
            }  
            return val;  
        }  
         //生产的密码包括位数 
        public static void  main(String[] args) {  
            StringRandom test = new StringRandom();  
            System.out.println(test.getStringRandom(6));  
        }  
    } 
    //随机不重复的6-8位
    public static int card(){
           int[] array = {0,1,2,3,4,5,6,7,8,9};
           Random rand = new Random();
           for (int i = 10; i > 1; i--) {
               int index = rand.nextInt(i);
               int tmp = array[index];
               array[index] = array[i - 1];
               array[i - 1] = tmp;
           }
           int result = 0;
           for(int i = 0; i < 6; i++){
               result = result * 10 + array[i];
           }
           return result;
       }
           public static void main(String[] args) {
               System.out.println(card());
    

    } 本文为转载文章 原文链接: https://blog.csdn.net/xuanzhangran/article/details/55195457

    展开全文
  • 我们经常可以在网页上看到一些临时字符串,那么在JAVA后台如何生成呢,我们...如果我们想生成一个6位的随机字符串,只需要让其循环6次即可,代码如下: /** * 6位字符串验证码实现 * @author Administrator * ...

    我们经常可以在网页上看到一些临时的字符串,那么在JAVA后台如何生成呢,我们可以先随机生成一个指定范围内的int类型的数字(如果希望生成小写字符,就在97~122之间),然后将其强制转换成char类型,再讲多次生成的字符串拼接起来即可!如果我们想生成一个6位的随机字符串,只需要让其循环6次即可,代码如下:

    /**
     * 6位字符串验证码实现
     * @author Administrator
     *
     */
    public class RandomStr {
    
    	public static void main(String[] args) {
    		boolean b;
    		//while循环,先循环一遍,如果满足循环条件b=true,则继续循环,这里我让其验证失败为满足条件,继续验证
    		//如果用户输入的和随机的字符串能对应上,则break跳出循环
    		while(b=true){
    			String result="";
    			for(int i=0;i<6;i++){
    				int a=(int)(Math.random()*26+97);
    				result=result+(char)+a;
    			}
    			Scanner scanner =new Scanner(System.in);
    			System.out.println("请输入验证码:"+result);
    			String c=scanner.next();
    			if (c.equals(result)) {
    				System.out.println("完成验证!");
    				break;
    			} else {
    				System.out.println("验证失败!");
    				//这里将0转换成了字符串,用户只要输入0立即跳出
    				if (c.equals(0+"")) {
    				System.out.println("验证失败,结束验证!");	
    				break;
    				} else {
    					b=true;
    				}
    			} 
    		}
    		
    	}
    
    }
    
    

    输出结果:
    在这里插入图片描述

    展开全文
  • //随机生成一个6位的验证码,由大写字母,小写字母,数字组成随机组成 for(int i=0;i<6;i++){ //随机生成0或1两个数字,若是0则随机生成字母,若为1,则随机生成数字 if(randomObject.ne
  • 验证码的作用:有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断登陆尝试,实际上是用验证码是现在很多网站通行方式(比如招商银行网上个人银行,腾讯QQ社区),我们利用比较简易方式...
  • 生成验证码的代码很简单,先随机生成一个数字和字母组合的 5~6位字符串,然后使用Google的图片工具类生成图片,再传回前端。但这里需要注意,生成的验证码服务端要保留一份,以待客户端请求验证...
  • 首先我们要新建一个java类,这个类就是生成验证码的类; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream;...
  • 随机6位数验证码

    2019-12-10 20:58:21
    随机生成一个6位数的验证码,验证码中可以有大写字母,小写字母,至少有一位数字 */ public class YanZhengMa { public static void main(String[] args) { String s=suiJiSu();//调用方法...
  • 我们使用是榛子云短信平台, 官网地址:smsow.zhenzikj.com我是java开发者,后端使用了springMvc,前端用是jsp + jquery短信验证码实现流程1、构造手机验证码生成一个6位的随机数字串;2、使用接口向短信平台...
  • java生成随机数方法

    2018-11-21 18:01:41
    引入了一个source字符串,从这个字符串里可以随机生成一个子串返回,很多pc网站用这个方法生成带字母数字的验证码 String sources = &quot;0123456789&quot;; // 加上一些字母,就可以生成pc站的验证码...
  • 发送短信验证码的原理是:随机生成一个6位数字,将该6位数字保存到session当中,客户端通过sessionid判断对应的session,用户输入的验证码再与session记录的验证码进行比较。 复制代码import java.util.HashMap;...
  • JAVA利用第三方平台发送短信验证码

    千次阅读 2016-12-20 20:18:50
    发送短信验证码的原理是:随机生成一个6位数字,将该6位数字保存到session当中,客户端通过sessionid判断对应的session,用户输入的验证码再与session记录的验证码进行比较。 为了防止有广告嫌疑这里就不说短信...
  • 1、构造手机验证码生成一个4位的随机数字串; 2、使用接口向短信平台发送手机号和验证码,然后短信平台再把验证码发送到用户提交手机号上 3、将手机号验证码、操作时间存入Session中,作为后面验证使用; 4、...
  • 前段时间自己做一个小项目中,涉及到用短信验证码登录、注册问题,之前没涉及过这一块,看了别人博客其实也...发送短信验证码的原理是:随机生成一个6位数字,将该6位数字保存到session当中,客户端通过sessioni
  • 发送短信验证码的原理是:随机生成一个6位数字,将该6位数字保存到session当中,客户端通过sessionid判断对应的session,用户输入的验证码再与session记录的验证码进行比较。 为了防止有广告嫌疑这里就不说短信平台...
  • 使用阿里云短信验证码API发送短信验证码使用此...代码中我已经进行了详细的注释,也写了一个生成6位随机数字的方法.如果有什么疑问,欢迎在评论里留言。 package com.qfedu.examsys.utils; import com.aliyuncs.Com...
  • 最近在做只能净化器后台用户管理系统,需要使用手机号进行注册,找了许久才大致了解了手机验证码实现流程,今天在此和大家分享一下。...1、构造手机验证码生成一个6位的随机数字串; 2、使用接口向短信...
  • 遇到一个手机APP项目客户要求注册到APP上的用户手机号...项目的总体思路:1、用户在注册页面上填写手机号,按“获取短信验证码”按钮2、通过servlet将这个手机号传到后台3、通过java生成一个6位数字的字符串4、把...

空空如也

空空如也

1 2 3
收藏数 59
精华内容 23
关键字:

java生成一个6位数字的验证码

java 订阅