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的短信服务进行短信 ...
随机推荐
- Java程序员从笨鸟到菜鸟之(一百零一)sql注入攻击详解(二)sql注入过程详解
在上篇博客中我们分析了sql注入的原理,今天我们就来看一下sql注入的整体过程,也就是说如何进行sql注入,由于本人数据库和网络方面知识有限,此文章是对网上大量同类文章的分析与总结,其中有不少直接引用 ...
- Sql Server插入数据并返回自增ID,@@IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT的区别
预备知识:SQLServer的IDENTITY关键字IDENTITY关键字代表的是一个函数,而不是identity属性.在access里边没有这个函数,所以在access不能用这个语句.语法:iden ...
- js的执行机制
遇到一个问题,因为自己本身就是菜鸟的原因,弄懂了还是很高兴的. console.log(a) function a() { return "this is function" } ...
- VPN帐号(每1小时自动断开及更新密码)
免费的vpn帐号 http://freevpn.wwdhz.com/
- 60行以内写mvc
标题党.几天前看到一个30行写mvc的文章,东施效颦,也动手写了个60行的,功能上略微扩充一些,记录下来,后面有时间可以继续优化. mvc其实是一个观察者模式.view来监听model,所以当mode ...
- 【转】Linux 文件夹文件创建与删除
[转自:Linux文件夹文件创建.删除 - 风生水起 - 博客园] 1. 删除文件夹 rm -rf fileNamede> -删除文件夹实例:rm -rf /var/log/httpd/acc ...
- Create Oracle Enterprise Manager repository data after restore a database from another server
1. Set password for SYS in password file: orapwd file=$ORACLE_HOME/dbs/orapw<ORACLE_SID> 2. Dr ...
- 三星(SAMSUNG)910S3L-K04 安装win7的BIOS设置
三星(SAMSUNG)910S3L-K04 开机后连续点击F2进入BIOS,再进入BOOT.将SECURE BOOT CONTROL点成disabled,将OS MODE SELECTION选为uef ...
- 基于AutoCAD的ObjectARX之NET扩展(mcnetarx)-AcdbEntMake
1.创建一个结果缓冲区. 2.调用AcdbEntMake创建对象. 示例: ' 创建文字实体 Dim rb As ResultBuffer = New ResultBuffer rb.Add(New ...
- map 遍历
//最常规的一种遍历方法,最常规就是最常用的,虽然不复杂,但很重要,这是我们最熟悉的,就不多说了!! public static void work(Map<String, Student> ...