atitit 短信验证码的源码实现 .docx
atitit 短信验证码的源码实现 .docx
参考 Atitit usrQBM1603短信验证码规范
主要方法
Line 27: public class SmsCaptchaService extends CaptchaService {
Line 36: public static void main(String[] args) {
Line 49: public static SmsCaptchaService buildAsYuntonsyon() {
Line 57: public static SmsCaptchaService buildAsSms1xinxi() {
Line 65: public Object send(String mobile) {
Line 86: public Object send(String mobile, String content) {
Line 103: public boolean check(String captcha) throws CapchCheckFailEx {
源码实现
package com.attilax.captcha;
import java.util.Set;
import javax.servlet.http.HttpSession;
import com.attilax.captcha.CaptchaService;
import com.attilax.corePkg.RandomX;
import com.attilax.json.AtiJson;
import com.attilax.lang.Global;
import com.attilax.net.requestImp;
import com.attilax.secury.AesV2q421;
import com.attilax.sms.Sms1xinxi;
import com.attilax.sms.SmsService;
import com.attilax.sms.SmsServiceYyuntongxunImp;
import com.attilax.web.sessionImp;
import com.csmy.my.center.util.RequestUtil;
import com.google.common.collect.Sets;
import com.google.inject.Inject;
/**
* com.attilax.sms.SmsCaptchaService
*
* @author Administrator
*
*/
public class SmsCaptchaService extends CaptchaService {
@Inject
CaptchaService captSvs;
@Inject
SmsService smsSrv;
// @Inject
RandomX rdmx = new RandomX();
public static void main(String[] args) {
// System.out.println( new SmsCaptchaService().send("18573344543",
// "xxcontent"));
requestImp ri=new requestImp();
sessionImp si=new sessionImp();
ri.setSession(si);
Global.req.set(ri);
SmsCaptchaService SmsCaptchaService1 = SmsCaptchaService.buildAsYuntonsyon();
//System.out.println(SmsCaptchaService1.send("18867311166" ));;
SmsCaptchaService1.send("18573344543" );
}
public static SmsCaptchaService buildAsYuntonsyon() {
SmsService smsS = new SmsServiceYyuntongxunImp();
SmsCaptchaService svs = new SmsCaptchaService();
svs.smsSrv = smsS;
return svs;
}
public static SmsCaptchaService buildAsSms1xinxi() {
SmsService smsS = new Sms1xinxi();
SmsCaptchaService svs = new SmsCaptchaService();
svs.smsSrv = smsS;
return svs;
}
public Object send(String mobile) {
String Capt= super.setCapt();
Object sendRzt = smsSrv.send(mobile, String.valueOf(Capt));
return sendRzt;
}
public Object send(String mobile, String content) {
int rdm = new RandomX().randomNum(1000, 9999);
content = content.replace("$capt$", String.valueOf(rdm));
// if(smsSrv==null)
//Sms1xinxi smsSrv = new Sms1xinxi();
Object send = smsSrv.send(mobile, content);
HttpSession session = Global.req.get().getSession();
Set<String> st = (Set<String>) session.getAttribute("captSet");
if (st == null)
st = Sets.newHashSet();
st.add(String.valueOf(rdm));
session.setAttribute("captSet", st);
session.setAttribute("capt", String.valueOf(rdm));
return send;
}
}
作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 )
汉字名:艾提拉(艾龙), EMAIL:1466519819@qq.com
转载请注明来源: http://www.cnblogs.com/attilax/
Atiend
atitit 短信验证码的源码实现 .docx的更多相关文章
- atitit.短信 验证码 破解 v3 p34 识别 绕过 系统方案规划----业务相关方案 手机验证码 .doc
atitit.短信 验证码 破解 v3 p34 识别 绕过 系统方案规划----业务相关方案 手机验证码 .doc 1. 手机短信验证码 vs 图片验证码 安全性(破解成本)确实要高一些1 1 ...
- 使用定时器限制点击按钮发送短信(附源码)--JavaScript小案例
不说多哈,有注释哦,直接贴代码了哈,有疑问请追评呢…… 1.禁用按钮: this.disabled = "disabled"(this指按钮)或: this.disabled = ...
- Android之短信验证码
我们今天所使用的方案仅仅是android手机设备集成短信验证码功能的方案之中的一个. 我们所採用的方案是使用聚合数据的短信验证sdk. 程序的界面例如以下所看到的: 实现步骤: 1.到聚合数据官网上申 ...
- Atitit. 破解 拦截 绕过 网站 手机 短信 验证码 方式 v2 attilax 总结
Atitit. 破解 拦截 绕过 网站 手机 短信 验证码 方式 v2 attilax 总结 1. 验证码的前世今生11.1. 第一代验证码 图片验证码11.2. 第二代验证码 用户操作 ,比如 ...
- atitit.破解 拦截 绕过 网站 手机 短信 验证码 之自动获取手机短信方式 attilax 总结
atitit.破解 拦截 绕过 网站 手机 短信 验证码 之自动获取手机短信方式 attilax 总结 1. 自动获取手机短信方式的原理 1 2. 调用api 1 3. ----核心代码 2 4. ...
- Atitit usrQBM1603短信验证码规范
Atitit usrQBM1603短信验证码规范 短信验证码扩展至短信服务和验证码服务1 主要方法1 参考模板1 短信验证码扩展至短信服务和验证码服务 主要方法 Line 27: public cla ...
- atitit 短信接口规范与短信解决方案.docx
atitit 短信接口规范与短信解决方案.docx 1.1. 国内比较著名的短信提供商1 1.2. 短信接口规范1 1.3. 短信sdk构成1 1.4. 短信的实现1 1.5. SmsServiceY ...
- SpringBoot + Spring Security 学习笔记(五)实现短信验证码+登录功能
在 Spring Security 中基于表单的认证模式,默认就是密码帐号登录认证,那么对于短信验证码+登录的方式,Spring Security 没有现成的接口可以使用,所以需要自己的封装一个类似的 ...
- Unity利用SMSSDK实现短信验证码(附代码)
最近一直在研究如何给app更多实用性的功能,在app进行登录或者注册时,为了方便用户更加快捷的完成登录功能,所以就决定采用短信验证码的方式进行验证登录.在学习的过程中,先使用了Mob的短信服务进行短信 ...
随机推荐
- nginx负载均衡最新
配置conf文件 #user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log no ...
- VS2013无调试信息
Debug模式,运行时完全正常,但是一调试就出现对话框,显示出错信息: "无法找到"XXX.exe"的调试信息,或者调试信息不匹配.未使用调试信息生成二进制文件.&quo ...
- 阿里云RDS for MySQL备份文件+binlog恢复过程中碰到的一些问题
1.一开始通过官方下载有的压缩包安装,碰到各种依赖问题,最后采用YUM安装 1.通过yum安装percona-Xtrabackup 1.1 先安装依赖: yum install perl-DBI yu ...
- 通过统计用户DNS解析记录,实现监控用户上网行为
上次通过扫描抓包分析TTL的方式检测公司网络开放的端口,发现没有开放53端口(DNS),也就是在公司内部的主机只能用服务器自动分配的DNS,并且发现这是台内部服务器.今天发现bing上不去,检测后发现 ...
- MHA的在线切换后的一些总结(mha方案来自网络)
mha方案来自:http://www.cnblogs.com/xuanzhi201111/p/4231412.html MHA的在线切换 192.168.2.131 [root bin]$ maste ...
- 第七章:利用AdaBoost元算法提高分类性能
本章内容□ 组合相似的分类器来提髙分类性能□应用AdaBoost算法□ 处理非均衡分类问题
- iOS 选择的照片或者拍照的图片上添加日期水印
1..引入框架 #import "CLLocation+GPSDictionary.h"#import "NSDictionary+CLLocation.h" ...
- strncpy和memcpy的区别
今天不小心在该用memcpy的时候,用了strncpy使自己吃了亏,所以写出这个博文. memcpy就是纯字节拷贝,而strncpy就不同了,字符串是以'\0'结尾的.如果一个字符buffer长度为6 ...
- 从网络上下载文件到sd卡上
String SDPATH = Environment.getExternalStorageDirectory() + "/"; String path = SDPATH + &q ...
- Gbase配置
喵了个咪的.到目前为止,自己已经用过SQL SERVER,My SQL,Oracle,SQLite,加上南大通用GBASE 五种数据库了.虽然每种都用的不深 注:GBASE提供了C的API,查看手册即 ...