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手机注册获取验证码--乐信平台相关推荐
- 手机注册(发送短信验证码)
手机注册(发送短信验证码) 去阿里开通短信服务,accesskey号然后创建签名 复制粘贴代码就可使用,根据指导修改就ok 如有报错 不能使用 还请大家谅解.(没有经过作者同意,禁止修改代码,盗用(利 ...
- 注册app短信验证平台_怎样挑选网站验证码短信平台?
短信验证码对于一个网站来说,已经是管理用户和保障网站安全的重要手段了.短信验证码在网站中负责注册登录.修改密码/找回密码.支付转账.账户异常行为.敏感操作(修改账号信息,修改重要设置,修改手机号码)等 ...
- 验证码短信平台短信发送失败怎么办?
日常工作和生活中,我们经常要注册网站或者APP账号,或者找回密码,忘记密码时,也都需要用到验证码来进行身份验证,验证码的形式有很多,比如:图形.识字.短信等等,这些企业.网站为了保障数据安全也是煞费苦 ...
- 验证码短信平台短信发送失败原因,四大方面全面解读
日常生活或工作当中,我们经常遇到短信验证码,验证码的形式有很多,有图形.数字.英文.滑块.短信以及语音验证码,其中短信验证码是被公认为最安全的验证方式,比如我们换手机,换手机号码,再次登录QQ.微信. ...
- 微信小程序手机号注册获取验证码+验证判断
微信小程序手机号注册获取验证码+验证判断 扫描二维码,进入首页,找到"小程序演示",效果类->手机号码注册效果,点击进入即可.
- jeecg 手机注册 阿里云短信API 【 阿里云短信发送验证码 平台配置和项目中使用】
文章目录 jeecg 项目效果展示 短息通知页面入口 代码中调用短信api 配置和代码 API中的重要参数配置项: 阿里控制台注册 注册签名 注册短信模板 阿里云短信发送验证码配置和项目使用 je ...
- 验证码短信平台API接口的应用
事实上,现在不论是企业商家还是用户,都现已渐渐离不开短信验证码接口途径了.因为现在很多工作都在经过短信验证码接口实现各种短信服务功用,例如帐号的注册.身份的验证.付出时的提示.物流告诉等等.那么接下来 ...
- JAVA实现注册登陆的短信验证
一.找到一个短信API服务数据接口 使用短信api接口服务我这里是使用一个第三方的接口服务(步骤需要不是打广告). 1.获取短信接口的Appkey程序钥匙. https://www.juhe.cn/ ...
- JAVA实现注册页面验证码刷新
撰写人--软件二班--陈喜平 需要的工具:tomcat/eclipse/jdk/(注意jdk版本要和tomca相匹配,以及注意区分32位和64位) 步骤:依次创建servlet (服务器需要)/ js ...
最新文章
- [恢]hdu 2524
- Pycharm使用技巧(转载)
- 呼呗电销机器人_为什么企业销售电销都用电销外呼智能机器人
- SpringBoot在项目中基本配置设置
- 系统新模块增加需要哪些步骤_人工智能之父的问题解决策略:模块化
- 增强现实采用什么相机_从增强现实到情感检测:相机如何成为解读世界的最佳工具...
- 微信小程序蓝牙模块BLE开发说明基础知识
- 为什么联通走归属地ip_为什么企业争先恐后地进行品牌虚拟IP打造?
- 如何同时让多台服务器安装系统,如何同时安装多台服务器?
- python开源项目2019_2019年6月Github上最热门的Python开源项目
- 在软件工程中有两件难事
- STP中各算法接口开销(COST)计算方式
- 如何使用百度云人脸识别服务(V3版接口python语言) (七)开始应用人脸库
- 华为笔试题——分礼物
- dic={key:“字典”}
- iOS 仿钉钉文字水印
- 计算机组成原理画出CPU与主存及3-8译码器之间信号线的连接问题
- 《深度探索C++对象模型》勘误表
- 【搜集】AVI解码器下载(AE导入avi时报错的解决办法)
- QQ登录界面模仿和事件监听(下)