1. 程式人生 > >阿里雲簡訊驗證碼的坑.....

阿里雲簡訊驗證碼的坑.....

阿里雲簡訊的坑

博主在整合阿里雲簡訊的時候發生了此問題:

  1. 明明生成6位數字的驗證碼結果,通過阿里雲簡訊傳送出來有時只有5位。

解決辦法也很簡單我就直接貼程式碼,說原因了。
原因是: 問題原因:因為我返回的隨機驗證碼有時候第一位數字是0。所以,我就把驗證碼中如果第一位是0,就重新隨機。

剛剛: 指出了我的錯誤,原來是返回到阿里大於裡面的驗證碼,被識別為數字了…然後第一位數字是0就預設去掉了。他提供的解決方法是在驗證碼外層拼接一個單引號 ”
感謝指出

    /**
     *獲取隨機驗證碼
     * @param len
     * @return
     */
    public
static String generNumCode(int len){ //例項化 StringBuffer ,用作拼接驗證碼 //博主會在這篇博文發後不久,會更新一篇String與StringBuilder開發時的抉擇的博文。 StringBuffer code = new StringBuffer(); /拼接一個不為0的數字 code.append(getRandom()); //長度減1,隨機拼接數字 for (int i = 0; i < len-1; i++) { code.append(new
Random().nextInt(10)); } //利用遞迴演算法,如果隨機數長度不夠則重新隨機 if(code.length() != 6){ return generNumCode(6); }else { return code.toString(); } } /** * 使用遞迴演算法,獲取第一個隨機數不為0 * @return int */ public static int getRandom(){ int
number = new Random().nextInt(10); if(0 == number){ return getRandom(); } return number; }

如有建議,歡迎指出。