遊戲陪玩原始碼的登入方式,簡訊驗證碼登入的實現
Part1業務流程
1.構造手機驗證碼:使用random物件生成要求的隨機數作為驗證碼,例如4位驗證碼:1000~9999之間隨機數;
2.使用介面向簡訊平臺傳送手機號和驗證碼資料,然後簡訊平臺再把驗證碼傳送到制定手機號上,介面引數一般包括:目標手機號,隨機驗證碼(或包含失效時間),平臺介面地址,平臺口令;
3.儲存介面返回的資訊(一般為json文字資料,然後需轉換為json物件格式);
4.將手機號–驗證碼、操作時間存入Session中,作為後面驗證使用;
5.遊戲陪玩原始碼接收使用者填寫的驗證碼及其他資料;
6.對比提交的驗證碼與Session中的驗證碼是否一致,同時判斷提交動作是否在有效期內;
7.遊戲陪玩原始碼驗證碼正確且在有效期內,請求通過,處理相應的業務。
Part2首先新增一個jar包
工具類會用到
<!--秒滴雲的jar包--> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.11</version> </dependency>
Part3編寫簡單的簡訊驗證功能
我這裡只是編寫一個簡單的遊戲陪玩原始碼簡訊驗證功能,下面是編寫的一個config文件,專門存放一些引數
Part4編寫http請求工具類
public class HttpUtil { /** * 構造通用引數timestamp、sig和respDataType * * @return */ public static String createCommonParam() { // 時間戳 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); String timestamp = sdf.format(new Date()); // 簽名 String sig = DigestUtils.md5Hex(Config.ACCOUNT_SID + Config.AUTH_TOKEN + timestamp); return "×tamp=" + timestamp + "&sig=" + sig + "&respDataType=" + Config.RESP_DATA_TYPE; } /** * post請求 * * @param url * 功能和操作 * @param body * 要post的資料 * @return * @throws IOException */ public static String post(String url, String body) { System.out.println("url:" + System.lineSeparator() + url); System.out.println("body:" + System.lineSeparator() + body); String result = ""; try { OutputStreamWriter out = null; BufferedReader in = null; URL realUrl = new URL(url); URLConnection conn = realUrl.openConnection(); // 設定連線引數 conn.setDoOutput(true); conn.setDoInput(true); conn.setConnectTimeout(5000); conn.setReadTimeout(20000); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); // 提交資料 out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8"); out.write(body); out.flush(); // 讀取返回資料 in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8")); String line = ""; boolean firstLine = true; // 讀第一行不加換行符 while ((line = in.readLine()) != null) { if (firstLine) { firstLine = false; } else { result += System.lineSeparator(); } result += line; } } catch (Exception e) { e.printStackTrace(); } return result; } /** * 回撥測試工具方法 * * @param url * @param reqStr * @return */ public static String postHuiDiao(String url, String body) { String result = ""; try { OutputStreamWriter out = null; BufferedReader in = null; URL realUrl = new URL(url); URLConnection conn = realUrl.openConnection(); // 設定連線引數 conn.setDoOutput(true); conn.setDoInput(true); conn.setConnectTimeout(5000); conn.setReadTimeout(20000); // 提交資料 out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8"); out.write(body); out.flush(); // 讀取返回資料 in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8")); String line = ""; boolean firstLine = true; // 讀第一行不加換行符 while ((line = in.readLine()) != null) { if (firstLine) { firstLine = false; } else { result += System.lineSeparator(); } result += line; } } catch (Exception e) { e.printStackTrace(); } return result; } }
Part5生成四位數的方法
public static String runNumber() { String str="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; StringBuilder sb=new StringBuilder(4); for(int i=0;i<4;i++) { char ch=str.charAt(new Random().nextInt(str.length())); sb.append(ch); } System.out.println(sb.toString()); String code = sb.toString(); return code; } 4、執行方法execute(),便會傳送成功 public class IndustrySMS { private static String operation = "/industrySMS/sendSMS"; private static String accountSid = Config.ACCOUNT_SID; private static String to = "15342349382"; private static String smsContent = "【小陶科技】登入驗證碼:{"+runNumber().toString()+"},如非本人操作,請忽略此簡訊。"; /** * 驗證碼通知簡訊 */ public static void execute() { String tmpSmsContent = null; try{ tmpSmsContent = URLEncoder.encode(smsContent, "UTF-8"); }catch(Exception e){ } String url = Config.BASE_URL + operation; String body = "accountSid=" + accountSid + "&to=" + to + "&smsContent=" + tmpSmsContent + HttpUtil.createCommonParam(); // 提交請求 String result = HttpUtil.post(url, body); System.out.println("result:" + System.lineSeparator() + result); }
以上就是“遊戲陪玩原始碼的登入方式,簡訊驗證碼登入的實現”的全部內容,希望對大家有幫助。
本文轉載自網路,轉載僅為分享乾貨知識,如有侵權歡迎聯絡雲豹科技進行刪除處理
原文連結:https://my.oschina.net/u/3694624/blog/5254955
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69996194/viewspace-2849259/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何在遊戲陪玩app原始碼中實現簡訊驗證碼登入?遊戲APP原始碼
- uniapp 實現簡訊驗證碼登入APP
- vue實現簡訊驗證碼登入Vue
- app直播原始碼,登入時輸入驗證碼、簡訊驗證身份APP原始碼
- uniapp 完成兩種方式登入 驗證碼登入 密碼登入APP密碼
- Spring Security Oauth2.0 實現簡訊驗證碼登入SpringOAuth
- 騰訊遊戲掃碼登入原始碼遊戲原始碼
- 遊戲陪玩系統原始碼中懶載入的實現方式有哪幾種?遊戲原始碼
- node實現登入圖片驗證碼
- 直播系統程式碼,登入時常用驗證方式實現
- 登入驗證碼生成kaptcha(輸入驗證碼)APT
- 小視訊app原始碼,實現簡單的登入介面,輸入賬號密碼APP原始碼密碼
- 自動化驗證碼登入如何實現?
- SpringBoot + Spring Security 學習筆記(五)實現簡訊驗證碼+登入功能Spring Boot筆記
- java視窗登入介面實現隨機驗證碼Java隨機
- SpringBoot 整合 Shiro 密碼登入與郵件驗證碼登入(多 Realm 認證)Spring Boot密碼
- 遊戲陪玩系統原始碼中不同排序演算法的實現方式遊戲原始碼排序演算法
- 聊天平臺原始碼,登入時拼圖驗證原始碼
- 說說如何在登入頁實現生成驗證碼功能
- Spring Security 一鍵接入驗證碼登入和小程式登入Spring
- 聊天室原始碼開發,如何簡單的實現掃碼登入功能?原始碼
- Laravel-admin 登入新增驗證碼Laravel
- json web token 實踐登入以及校驗碼驗證JSONWeb
- 遊戲陪玩原始碼前端圖片載入優化的各種技巧遊戲原始碼前端優化
- 密碼方式登入redis密碼Redis
- SpringSceurity(5)---簡訊驗證碼登陸功能Spring
- Spring Security 如何新增登入驗證碼?鬆哥手把手教你給微人事新增登入驗證碼Spring
- 使用 Zig 實現自動化登入並處理驗證碼
- 使用 Forth 實現驗證碼識別與自動化登入
- 使用 Crystal 實現驗證碼識別與自動化登入
- 使用 jQuery, Angular.js 實現登入介面驗證碼詳解jQueryAngularJS
- 實現基於JWT的Token登入驗證功能JWT
- springboot + shiro 驗證碼與記住登入Spring Boot
- 一對一直播原始碼,實現一個簡單的登入介面原始碼
- 遊戲陪玩原始碼的移動端適配,應該如何實現?遊戲原始碼
- golang 中使用 JWT 實現登入驗證GolangJWT
- 如何實現直播間原始碼重要的簡訊驗證碼功能原始碼
- 實現登入態的幾種方式