日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java手机注册获取验证码--乐信平台

發布時間:2024/3/26 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java手机注册获取验证码--乐信平台 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

樂信手機注冊驗證服務

  • BizNumberUtil隨機碼工具類:當前時間精確到秒+3位數字(此工具包可忽略)

package com.java11.crowd.util;

?

import java.text.SimpleDateFormat;

import java.util.Date;

?

/**

隨機碼工具包(當前時間精確到秒+3位數字)

*/

public class BizNumberUtil {

?

public static ?int curttNo;

?

private final static String dataFormatString="yyMMddHHmmss";

?

public ?synchronized static final String createBizId(){

if(curttNo<999) {

curttNo++;

}else{

curttNo=1;

}

String curttNoStr=String.valueOf(curttNo);

while(curttNoStr.length()<3){;

curttNoStr="0"+curttNoStr;

}

return new SimpleDateFormat(dataFormatString).format(new Date())+curttNoStr;

}

?

public static void main(String[] args) {

System.out.println(createBizId());

}

?

}

?

  • MD5.java工具類

package com.java11.crowd.util;

?

import java.security.MessageDigest;

/**

MD5碼工具包

*/

public class MD5 {

private final static char[] hexDigits = { '0', '1', '2', '3', '4', '5',

'6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };

?

private static String bytes2hex(byte[] bytes) {

StringBuffer sb = new StringBuffer();

int t;

for (int i = 0; i < 16; i++) {// 16 == bytes.length;

t = bytes[i];

if (t < 0)

t += 256;

sb.append(hexDigits[(t >>> 4)]);

sb.append(hexDigits[(t % 16)]);

}

return sb.toString();

}

?

public static String getMd5String(String strSrc) {

try {

MessageDigest md5 = MessageDigest.getInstance("MD5");

return bytes2hex(md5.digest(strSrc.getBytes()));

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

}

?

  • SendSms.java短信發送工具類,sendSms方法

package com.java11.crowd.util;

?

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.net.HttpURLConnection;

import java.net.URL;

import java.net.URLEncoder;

import java.util.Random;

?

?

/**

短信發送工具包,sendSms方法

*/

public class SendSms {

?

//測試

public static void main(String[] args) {

System.out.println("=======================");

//隨機生成一個1-100000的驗證碼并存放在模板中

new SendSms().sendSms("xxxxx@qq.com", "wwwwww", "17700000000", "尊敬的用戶:您的驗證碼:"+new Random().nextInt(100000)+"工作人員不會索要,請勿泄露。【wcl】");

System.out.println("=======================");

}

?

//sendSms方法,短信發送的具體實現

public ?String sendSms(String accName,String accPwd,String mobies,String content){

StringBuffer sb = new StringBuffer("http://www.lx198.com/sdk/send?");

try {

sb.append("accName="+accName); //用戶名

sb.append("&accPwd="+MD5.getMd5String(accPwd)); //密碼

sb.append("&aimcodes="+mobies);//收取驗證碼的手機號

sb.append("&content="+URLEncoder.encode(content,"UTF-8"));//驗證信息

sb.append("&dataType=string");

System.out.println(sb.toString());

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) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return null;

}

}

?

  • sendSms.js(可自由選擇)

function getRealPath(){

//獲取當前網址,如: http://localhost:8083/myproj/view/ahha.jsp

var curWwwPath=window.document.location.href;

//獲取主機地址之后的目錄,如: myproj/view/ahha.jsp

var pathName=window.document.location.pathname;

var pos=curWwwPath.indexOf(pathName);

//獲取主機地址,如: http://localhost:8080

var localhostPaht=curWwwPath.substring(0,pos);

//獲取帶"/"的項目名,如:/ahha

var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1);

?

//得到了 服務器名稱和項目名稱

var realPath=localhostPaht+projectName;

?

return realPath;

}

?

// 聲明全局變量pageContext

var pageContext = getRealPath();

?

$(function(){

send();

});

???

function send(){

???? var sms="";

???? document.getElementById("btn").οnclick=function(){

???????????var phone=$("#usPhone").val();

???????????if(phone!="")

???????????{

???????????????$.ajax({

???????????????????url:pageContext + "/user/code.action",

???????????????????type:"post",

???????????????????dataType : "json",

???????????????????data:{"usPhone":phone},

???????????????????success:function(data){

???????????????????????sms=data;

???????????????????????alert("========="+sms);

???????????????????}

???????????????});

???????????}else{

????????????????alert("請輸入手機號");

???????????????return false;

???????????}

?

???????};

???????$("#lo").click(function(){

???????????var code=$("#code").val();

???????????var phone=$("#usPhone").val();

???????????var usPassword=$("#usPassword").val();

???????????if(code==""){

???????????????alert("請輸入驗證碼");

???????????}else{

???????? ???if(sms==code){

???????????????????$.ajax({

???????????????????????url:pageContext + "/user/phoneReg.action",

???????????????????????type:"post",

???????????????????????dataType : "json",

???????????????????????data:{"usPhone":phone,"usPassword":usPassword},

???????????????????????success:function(data){

???????????????????? ???alert(data.msg);

???????????????????????},

???????????????????????

???????????????????});

???????????}else{

????????? alert("驗證碼錯誤");

???????????}

???????????}

???????});

?

????}

????

  • UserController

package com.java11.crowd.controller;

?

?

?

import java.io.IOException;

import java.io.PrintWriter;

import java.util.Date;

import java.util.HashMap;

import java.util.Map;

import java.util.Random;

?

import javax.servlet.ServletRequest;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

?

import org.apache.ibatis.annotations.Param;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.ResponseBody;

?

import com.java11.crowd.service.IUserService;

import com.java11.crowd.util.EmailUtil;

import com.java11.crowd.util.GenerateLinkUtil;

import com.java11.crowd.util.IDCardUtil;

import com.java11.crowd.util.MyPasswordEncrypt;

import com.java11.crowd.util.SendSms;

import com.java11.crowd.vo.User;

/**

實現短信注冊的Controller

*/

@RequestMapping("/user/*")

@Controller

public class UserController extends AbstractController {

@Autowired

private IUserService service;

?

//進入注冊郵箱頁面

@RequestMapping("/toregist")

public String toemail() {

return "index/email_reg";

}

?

//進入手機注冊頁面

@RequestMapping("/phoneregist")

public String phonereg() {

return "index/phone_reg";

}

?

//生成驗證碼,并發送給用戶

@RequestMapping("code")

public @ResponseBody int code(HttpServletRequest request,HttpSession session) {

String accName="xxxxxxx@qq.com";//短信平臺的注冊賬戶

String accPwd="wwwwwww"; //平臺密碼

String mobies=request.getParameter("usPhone");//用戶輸入的手機號

int ?code=new Random().nextInt(1000000); //隨機生成驗證碼

String content="尊敬的用戶:您的驗證碼:"+code+"工作人員不會索要,請勿泄露。【wcl】"; //格式要和短信平臺一直 ?簽名要寫對

session.setAttribute("code", code);//將生成的code驗證碼保存到session

System.out.println(request.getSession().getAttribute("code"));//測試能否從session中獲取驗證碼

SendSms sms=new SendSms();//創建工具包對象

sms.sendSms(accName, accPwd, mobies, content); //調用發送方法

return code;

}

?

?

?

@RequestMapping("phoneReg")

public @ResponseBody Object phoneReg(User vo,HttpServletRequest request) throws Exception {

//System.out.println(vo);

vo.setUsRole(1);

vo.setUsCreateTime(new Date());

Map<String,String> map=new HashMap();

map.put("msg", "注冊成功");

?

if(service.phoneReg(vo)) {

return map;

}else {

return "redirect:/user/phoneregist.action";

}

?

}

}

?

注:此api可去樂信短信平臺官網進行下載:http://www.lmobile.cn/

總結

以上是生活随笔為你收集整理的java手机注册获取验证码--乐信平台的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。