java如何随机生成6位短信验证码
发表于:2024-10-04 作者:千家信息网编辑
千家信息网最后更新 2024年10月04日,这篇文章主要为大家展示了"java如何随机生成6位短信验证码",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"java如何随机生成6位短信验证码"这篇文章吧。
千家信息网最后更新 2024年10月04日java如何随机生成6位短信验证码
这篇文章主要为大家展示了"java如何随机生成6位短信验证码",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"java如何随机生成6位短信验证码"这篇文章吧。
生成6位随机数字其实很简单,只需一行代码,具体如下:
String verifyCode = String.valueOf(new Random().nextInt(899999) + 100000);
具体实现发送短信验证码功能,以注册为例,其实现代码如下:
这里需要用到第三方短信验证码接口,这里用到的是乐信短信验证码接口,乐信接口API文档说明(http://www.lx598.com/apitext.html),乐信java调用短信验证码接口
// 注册新用户 @Action(value = "reAimcodeGetVeCode") public void reAimcodeGetVeCode() { PrintWriter out; String result = "验证码申请失败!请重试!"; try { smsUnit = new SmsUnit(ConfUtil.getProperty("sys_sms_server")); if (null != account.getACCMOB() && !account.getACCMOB().equals("")) { account.setACCSTATUS(new BigDecimal(1));//设置使用状态未用 String verifyCode = String .valueOf(new Random().nextInt(899999) + 100000);//生成短信验证码 account.setFSECURITYCODE(verifyCode); account.setACCCREATEDATE(new Date()); // 设置验证码失效时间为1分钟 Calendar c = Calendar.getInstance(); c.add(Calendar. Minute in hour, 1); // 执行短信发送 account.setFREGISTERSOURCE(fromSource); request.getSession().removeAttribute(ConstValues.WEB_SESSION_PROMOTE); AccountCriteria ac = new AccountCriteria(); ac.createCriteria().andACCMOBEqualTo(account.getACCMOB()); ListacList = new ArrayList (); acList = accountService.selectByExample(ac); if (acList != null && acList.size() > 0) { String content = "您的验证码为:" + verifyCode+",该码有效期为24小时,该码只能使用一次!【短信签名】"; SendSmsReply sendSmsReply = smsUnit.sendSms(accName,accPwd ,account.getACCMOB(),content,""); //调用第三方接口发送短信 result = sendSmsReply.getReplyMsg() + "&" + acList.get(0).getFID() + "&" + acList.get(0).getSDKURL(); } } } catch (Exception e) { logger.error("获取验证码失败", 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); } } }//第三方短信发送接口代码:/** * 发送短信 * @param accName 乐信账号用户名 * @param accPwd 乐信账号密码 * @param seed 当前时间 格式:YYYYMMDD HHMISS 例如:20130806102030 * @param aimcodes 手机号多个手机号之间英文半角逗号隔开 * @param content 内容后加签名 * @param schTime 定时时间格式如:2010-01-01 08:00:00 * @return 服务端返回的结果 ok:业务id 或者 错误代码 */ 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")); //空格标点符号做encode转换 sb.append("&content="+URLEncoder.encode(content,"UTF-8")); //中文做encode转换 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随机生成四位数字的验证码
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()); }}
以上是"java如何随机生成6位短信验证码"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
短信
验证
生成
接口
代码
内容
时间
第三方
篇文章
UTF-8
手机
手机号
数字
格式
用户
短信发送
账号
学习
帮助
有效
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
清新互联网信息科技有限公司
驱动网络安全
盒子服务器怎么设置
dnf台服数据库角色
数据库中默认30人的约束语句
软件开发选什么语言
企业网网络安全方案论文
大疆飞机安全数据库
乡村网络安全宣传图片
王珊的数据库保护技术
数据库显示不出数据到前端
文盲驾考交规速成软件开发
软件开发流程实例
社交电商app软件开发价格
网络安全级别越高是几级
怎么查数据库表是否有分区
计算机网络技术专业难度
数据库怎么创建数据库关系
戴尔服务器管理网配置
江苏安恒网络安全有限公司
电视网络安全科技馆
电力公司数据库崩溃
软件开发与安全关系
怎样只删除一列数据库
数据库判空为null
简述分布式数据库的场地自治性
数据库追加不包括
中小企业it服务器管理
网络安全工程师在哪有学校
数据库与数据库系统的不同点