Java-生成指定長度驗證碼的一種簡單思路


 前言:以前做過的一個項目,剛開的時候始驗證碼是在前端生成前端驗證的,后來覺得不靠譜,另外就是找回密碼的功能也需要發送郵件和短信的驗證碼,所以,驗證碼就必須在后端生成並且保存到應用會話中才行了!所以,就有了下面的這段簡單的代碼,這段代碼雖然簡單,但也是生成驗證碼的一種思路,在此小記一筆以備后用。

1:如下是生成驗證碼、測試生成驗證碼的方法,比較簡單,注釋也比較清楚,不多說了

package start;

import java.util.Random;

public class HelloMain {
    /**
     * 主函數,作為調用和測試生成驗證碼方法的入口
     * @param args
     */
    public static void main(String[] args)
    {
            for(int i=0; i<10;i++)
            {
                System.out.println("【"+i+"】"+"      【the verification code is】       "+createVerificationCode(6));
            }
    }
    /**
     * 生成指定長度的驗證碼
     * @author Q
     * @param verificationCodeLength
     * @return String
     * @since 2016-09-6
     */
    public static final String createVerificationCode(int verificationCodeLength) 
    {
        //    所有候選組成驗證碼的字符,可以用中文
        String[] verificationCodeArrary={"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
               "a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z",
               "A","B","C","D","E","F","G","H","I","J", "K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"
               };
        String verificationCode = "";
        Random random = new Random();
        //此處是生成驗證碼的核心了,利用一定范圍內的隨機數做為驗證碼數組的下標,循環組成我們需要長度的驗證碼,做為頁面輸入驗證、郵件、短信驗證碼驗證都行
        for(int i=0;i<verificationCodeLength;i++){verificationCode += verificationCodeArrary[random.nextInt(verificationCodeArrary.length)];}
        return verificationCode;
    }
}

2:如下是運行主函數生十組六位長度驗證碼的運行結果演示圖

3:小結

此例的核心和JS-改變頁面的顏色之變化核心-獲取六位的隨機數類似,都需要利用隨機數函數來模擬生成六位隨機數經過處理一下后,前者作為驗證碼后者作為顏色的十六進制六位表示值。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM