遊戲陪玩原始碼的登入方式,簡訊驗證碼登入的實現
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原始碼
- vue實現簡訊驗證碼登入Vue
- uniapp 實現簡訊驗證碼登入APP
- app直播原始碼,登入時輸入驗證碼、簡訊驗證身份APP原始碼
- uniapp 完成兩種方式登入 驗證碼登入 密碼登入APP密碼
- Spring Security Oauth2.0 實現簡訊驗證碼登入SpringOAuth
- node實現登入圖片驗證碼
- spring mvc實現登入驗證碼SpringMVC
- 直播系統程式碼,登入時常用驗證方式實現
- 登入驗證碼生成kaptcha(輸入驗證碼)APT
- 遊戲陪玩系統原始碼中懶載入的實現方式有哪幾種?遊戲原始碼
- 小視訊app原始碼,實現簡單的登入介面,輸入賬號密碼APP原始碼密碼
- 自動化驗證碼登入如何實現?
- MySQL登入驗證方式MySql
- 騰訊遊戲掃碼登入原始碼遊戲原始碼
- ORACLE登入驗證方式的詳解Oracle
- java視窗登入介面實現隨機驗證碼Java隨機
- Spring Security原始碼分析五:Spring Security實現簡訊登入Spring原始碼
- 聊天平臺原始碼,登入時拼圖驗證原始碼
- SpringBoot + Spring Security 學習筆記(五)實現簡訊驗證碼+登入功能Spring Boot筆記
- 說說如何在登入頁實現生成驗證碼功能
- 聊天室原始碼開發,如何簡單的實現掃碼登入功能?原始碼
- 密碼方式登入redis密碼Redis
- Spring Security 一鍵接入驗證碼登入和小程式登入Spring
- RHCE_LAB(2)SSH遠端登入自動驗證(不輸入使用者登入密碼)的實現薦密碼
- 遊戲陪玩系統原始碼中不同排序演算法的實現方式遊戲原始碼排序演算法
- 使用 jQuery, Angular.js 實現登入介面驗證碼詳解jQueryAngularJS
- 使用 Forth 實現驗證碼識別與自動化登入
- 使用 Crystal 實現驗證碼識別與自動化登入
- 小程式簡訊驗證碼登入,1分鐘實現小程式發簡訊功能,藉助雲開發10行程式碼行程
- 實現基於JWT的Token登入驗證功能JWT
- PHP結合Ajax實現登入驗證的DemoPHP
- 基於 Session 實現簡訊登入Session
- Laravel-admin 登入新增驗證碼Laravel
- SpringBoot 整合 Shiro 密碼登入與郵件驗證碼登入(多 Realm 認證)Spring Boot密碼
- json web token 實踐登入以及校驗碼驗證JSONWeb
- SpringSceurity(5)---簡訊驗證碼登陸功能Spring
- 如何實現直播間原始碼重要的簡訊驗證碼功能原始碼