最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java 隨機(jī)生成6位短信驗(yàn)證碼實(shí)例代碼

 更新時(shí)間:2019年12月18日 10:05:56   作者:動力思維樂信  
這篇文章主要介紹了java 隨機(jī)生成6位短信驗(yàn)證碼的實(shí)例代碼,文中給大家擴(kuò)展介紹了java隨機(jī)生成四位數(shù)字驗(yàn)證碼的方法,需要的朋友可以參考下

生成6位隨機(jī)數(shù)字其實(shí)很簡單,只需一行代碼,具體如下:

String verifyCode = String.valueOf(new Random().nextInt(899999) + 100000);

具體實(shí)現(xiàn)發(fā)送短信驗(yàn)證碼功能,以注冊為例,其實(shí)現(xiàn)代碼如下:

這里需要用到第三方短信驗(yàn)證碼接口,這里用到的是樂信短信驗(yàn)證碼接口,樂信接口API文檔說明(http://www.lx598.com/apitext.html),樂信java調(diào)用短信驗(yàn)證碼接口 demo(http://www.lx598.com/javaCode.html)。

// 注冊新用戶

  @Action(value = "reAimcodeGetVeCode")
  public void reAimcodeGetVeCode() {
    PrintWriter out;
    String result = "驗(yàn)證碼申請失??!請重試!";
    try {
      smsUnit = new SmsUnit(ConfUtil.getProperty("sys_sms_server"));
      if (null != account.getACCMOB() && !account.getACCMOB().equals("")) {
        account.setACCSTATUS(new BigDecimal(1));//設(shè)置使用狀態(tài)未用
        String verifyCode = String
            .valueOf(new Random().nextInt(899999) + 100000);//生成短信驗(yàn)證碼
        account.setFSECURITYCODE(verifyCode);
        account.setACCCREATEDATE(new Date());
        
        // 設(shè)置驗(yàn)證碼失效時(shí)間為1分鐘
        Calendar c = Calendar.getInstance();
        c.add(Calendar.  Minute in hour, 1); 
        // 執(zhí)行短信發(fā)送
        account.setFREGISTERSOURCE(fromSource);
          request.getSession().removeAttribute(ConstValues.WEB_SESSION_PROMOTE);
          AccountCriteria ac = new AccountCriteria();
          ac.createCriteria().andACCMOBEqualTo(account.getACCMOB());
          List<Account> acList = new ArrayList<Account>();
          acList = accountService.selectByExample(ac);
          if (acList != null && acList.size() > 0) {
            String content = "您的驗(yàn)證碼為:" + verifyCode+",該碼有效期為24小時(shí),該碼只能使用一次!【短信簽名】";
            SendSmsReply sendSmsReply = smsUnit.sendSms(accName,accPwd ,account.getACCMOB(),content,"");
 
//調(diào)用第三方接口發(fā)送短信            result = sendSmsReply.getReplyMsg() + "&"
                + acList.get(0).getFID() + "&"
                + acList.get(0).getSDKURL();
          }
      }
    } catch (Exception e) {
      logger.error("獲取驗(yàn)證碼失敗", e);
    } finally {
      try {
        response.setContentType("text/html;charset=UTF-8");
        response.setCharacterEncoding("UTF-8");
        out = response.getWriter();
        out.write(result);
      } catch (IOException e) {
        logger.error("", e);
      }
    }
  }

//第三方短信發(fā)送接口代碼:
/**
         * 發(fā)送短信
         * @param accName 樂信賬號用戶名
         * @param accPwd 樂信賬號密碼
         * @param seed 當(dāng)前時(shí)間 格式:YYYYMMDD HHMISS 例如:20130806102030
         * @param aimcodes 手機(jī)號多個(gè)手機(jī)號之間英文半角逗號隔開
         * @param content 內(nèi)容后加簽名
         * @param schTime 定時(shí)時(shí)間格式如:2010-01-01 08:00:00
         * @return 服務(wù)端返回的結(jié)果 ok:業(yè)務(wù)id 或者 錯(cuò)誤代碼
         */
        public static String sendSms(String accName,String accPwd,String mobies,String content,String schTime){
          StringBuffer sb = new StringBuffer("http://sdk.lx198.com/sdk/send2?");
          try {
            String seed=new SimpleDateFormat(dateFormatStr).format(new Date());
            sb.append("&accName="+accName); 
            sb.append("&seed="+seed);
            sb.append("&accPwd="+MD5.getMd5String(MD5.getMd5String(accPwd)+seed)); 
            sb.append("&aimcodes="+mobies);
            sb.append("&schTime="+URLEncoder.encode(schTime,"UTF-8")); //空格標(biāo)點(diǎn)符號做encode轉(zhuǎn)換
            sb.append("&content="+URLEncoder.encode(content,"UTF-8")); //中文做encode轉(zhuǎn)換
            URL url = new URL(sb.toString());
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("POST");
            BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
            return in.readLine();
          } catch (Exception e) {
            e.printStackTrace();
          }
          return null;
        }

PS:Java隨機(jī)生成四位數(shù)字的驗(yàn)證碼

package com.day14string;
import java.util.Random;
public class Test2 {
 public String getCheckCode() {
 String ZiMu = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGJKLZXCVBNM1234567890";
 String result = "";
 Random random = new Random();
 for (int i = 0; i < 4; i++) {
  int index = random.nextInt(ZiMu.length());
  char c = ZiMu.charAt(index);
  result += c;
 }
 return result;
 }
 public static void main(String[] args) {
 // TODO Auto-generated method stub
 Test2 test2 = new Test2();
 System.out.println(test2.getCheckCode());
 }
}

 總結(jié)

以上所述是小編給大家介紹的java 隨機(jī)生成6位短信驗(yàn)證碼實(shí)例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • spring的IoC和DI詳解

    spring的IoC和DI詳解

    這篇文章主要介紹了spring的IoC和DI詳解,還是挺不錯(cuò)的,這里分享給加,需要的朋友可以參考下。
    2017-11-11
  • Java 8系列之Stream中萬能的reduce用法說明

    Java 8系列之Stream中萬能的reduce用法說明

    這篇文章主要介紹了Java 8系列之Stream中萬能的reduce用法說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Java語言實(shí)現(xiàn)掃雷游戲(1)

    Java語言實(shí)現(xiàn)掃雷游戲(1)

    這篇文章主要為大家詳細(xì)介紹了Java語言實(shí)現(xiàn)的掃雷游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • Java編寫簡單計(jì)算器的完整實(shí)現(xiàn)過程

    Java編寫簡單計(jì)算器的完整實(shí)現(xiàn)過程

    這篇文章主要給大家介紹了關(guān)于Java編寫簡單計(jì)算器的完整實(shí)現(xiàn)過程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Java?swing創(chuàng)建一個(gè)窗口的簡單步驟

    Java?swing創(chuàng)建一個(gè)窗口的簡單步驟

    這篇文章主要給大家介紹了關(guān)于Java?swing創(chuàng)建一個(gè)窗口的簡單步驟,Java Swing是Java平臺下的GUI(Graphical User Interface,圖形用戶界面)工具包,提供了豐富的GUI組件,可以實(shí)現(xiàn)復(fù)雜的圖形界面應(yīng)用程序,需要的朋友可以參考下
    2024-06-06
  • Java中的while循環(huán)語句詳細(xì)講解

    Java中的while循環(huán)語句詳細(xì)講解

    這篇文章主要給大家介紹了關(guān)于Java中while循環(huán)語句的相關(guān)資料,while循環(huán)是一種在編程中常見的控制流語句,它允許代碼在特定條件下(通常是一個(gè)布爾表達(dá)式)重復(fù)執(zhí)行一段代碼,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • Springboot中用 Netty 開啟UDP服務(wù)方式

    Springboot中用 Netty 開啟UDP服務(wù)方式

    這篇文章主要介紹了Springboot中用 Netty 開啟UDP服務(wù)方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • JAVA 靜態(tài)代理模式詳解及實(shí)例應(yīng)用

    JAVA 靜態(tài)代理模式詳解及實(shí)例應(yīng)用

    這篇文章主要介紹了JAVA 靜態(tài)代理模式詳解及實(shí)例應(yīng)用的相關(guān)資料,這里舉例說明java 靜態(tài)代理模式該如何使用,幫助大家學(xué)習(xí)參考,需要的朋友可以參考下
    2016-11-11
  • java實(shí)現(xiàn)簡單的拼圖游戲

    java實(shí)現(xiàn)簡單的拼圖游戲

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡單的拼圖游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Java 數(shù)據(jù)結(jié)構(gòu)鏈表操作實(shí)現(xiàn)代碼

    Java 數(shù)據(jù)結(jié)構(gòu)鏈表操作實(shí)現(xiàn)代碼

    這篇文章主要介紹了Java 數(shù)據(jù)結(jié)構(gòu)鏈表操作的相關(guān)資料,并附實(shí)例代碼,需要的朋友可以參考下
    2016-10-10

最新評論

石楼县| 贺兰县| 河曲县| 中宁县| 新丰县| 姜堰市| 屯留县| 会宁县| 南召县| 冀州市| 靖西县| 山阴县| 孝感市| 洛南县| 建始县| 皮山县| 海淀区| 开原市| 进贤县| 慈利县| 赤峰市| 梧州市| 卫辉市| 龙口市| 蒙自县| 拜泉县| 蓬莱市| 垦利县| 布拖县| 广饶县| 准格尔旗| 宁乡县| 彭州市| 昭苏县| 赤水市| 古丈县| 余姚市| 庄浪县| 陕西省| 遵义市| 通榆县|