Java 生成任意長度的驗證碼過程解析
更新時間:2019年10月09日 14:37:52 作者:小龍_T無限
這篇文章主要介紹了Java 生成任意長度的驗證碼過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
需求說明
1、要求生成任意長度的驗證碼
2、驗證碼要求包含大小寫英文字母和數(shù)字
實現(xiàn)方式
采用隨機數(shù)的方式,分別在數(shù)字,大小寫英文字母里面抽取字符,抽取次數(shù)由for循環(huán)控制
代碼內(nèi)容
隨機的方法及程序入口
package com.work.work3; /** * @auther::9527 * @Description: 驗證碼生成器 * @program: shi_yong * @create: 2019-07-30 20:45 */ public class Method { //采用char對照表生成驗證碼 public static String verCode1(int num) { String code = ""; //設置一個變量,用來接收驗證碼 for (int i = 0; i < num; i++) { //使用一個布爾變量,判定單個驗證碼是數(shù)字還是英文字母 boolean choose = ((int) (Math.random() * 2) == 0) ? true : false; if (choose) { //如果choose為真,則選取數(shù)字做單個驗證碼并連接到code里面 code += (int) (Math.random() * 10); //在0-9之間選擇一個數(shù)字做驗證碼 } else { //如果choose為假,則選取英文字母做單個驗證碼并連接到code里面 //用char對照表里面的序號,確認本次英文字母是采用大寫還是小寫, // 65是大寫英文字母開頭,97是小寫英文字母開頭 int temp = ((int) (Math.random() * 2) == 0) ?65:97; char ch = (char)((Math.random()*26)+temp); code += ch; } } //返回一個字符串 return code; } public static String verCode2(int num){ String code=""; //采用變量string接收所有0-9,a-z,A-Z的字符 String string = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; //將字符串拆分成字符串數(shù)組 String[] str= string.split(""); for (int i = 0; i <num ; i++) { //在數(shù)組里面用下標隨機出字符串 code += str[(int)(Math.random()*str.length)]; } return code; } public static void main(String[] args) { System.out.println("對照表法:"+Method.verCode1(6)); System.out.println("split分割字符串法:"+Method.verCode2(6)); } }
運行結果
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Java中comparator接口和Comparable接口的比較解析
這篇文章主要介紹了Java中comparator接口和Comparable接口的比較解析,Java提供了一個用于比較的接口Comparator和Comparable接口,提供了一個比較的方法,所有實現(xiàn)該接口的類,都動態(tài)的實現(xiàn)了該比較方法,需要的朋友可以參考下2023-08-08如何應對spring框架的HTTP ERROR 400 Bad Request錯
這篇文章主要介紹了如何應對spring框架的HTTP ERROR 400 Bad Request錯誤返回問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08