atitit 短信验证码的源码实现  .docx

参考 Atitit usrQBM1603短信验证码规范1

主要方法1

源码实现1

参考 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的更多相关文章

  1. atitit.短信 验证码  破解  v3 p34  识别 绕过 系统方案规划----业务相关方案 手机验证码  .doc

    atitit.短信 验证码  破解  v3 p34  识别 绕过 系统方案规划----业务相关方案 手机验证码  .doc 1. 手机短信验证码 vs 图片验证码 安全性(破解成本)确实要高一些1 1 ...

  2. 使用定时器限制点击按钮发送短信(附源码)--JavaScript小案例

    不说多哈,有注释哦,直接贴代码了哈,有疑问请追评呢…… 1.禁用按钮: this.disabled = "disabled"(this指按钮)或: this.disabled = ...

  3. Android之短信验证码

    我们今天所使用的方案仅仅是android手机设备集成短信验证码功能的方案之中的一个. 我们所採用的方案是使用聚合数据的短信验证sdk. 程序的界面例如以下所看到的: 实现步骤: 1.到聚合数据官网上申 ...

  4. Atitit. 破解  拦截 绕过 网站 手机 短信 验证码  方式 v2 attilax 总结

    Atitit. 破解  拦截 绕过 网站 手机 短信 验证码  方式 v2 attilax 总结 1. 验证码的前世今生11.1. 第一代验证码 图片验证码11.2. 第二代验证码  用户操作 ,比如 ...

  5. atitit.破解 拦截 绕过 网站 手机 短信 验证码 之自动获取手机短信方式 attilax 总结

    atitit.破解  拦截 绕过 网站 手机 短信 验证码 之自动获取手机短信方式 attilax 总结 1. 自动获取手机短信方式的原理 1 2. 调用api 1 3. ----核心代码 2 4.  ...

  6. Atitit usrQBM1603短信验证码规范

    Atitit usrQBM1603短信验证码规范 短信验证码扩展至短信服务和验证码服务1 主要方法1 参考模板1 短信验证码扩展至短信服务和验证码服务 主要方法 Line 27: public cla ...

  7. atitit 短信接口规范与短信解决方案.docx

    atitit 短信接口规范与短信解决方案.docx 1.1. 国内比较著名的短信提供商1 1.2. 短信接口规范1 1.3. 短信sdk构成1 1.4. 短信的实现1 1.5. SmsServiceY ...

  8. SpringBoot + Spring Security 学习笔记(五)实现短信验证码+登录功能

    在 Spring Security 中基于表单的认证模式,默认就是密码帐号登录认证,那么对于短信验证码+登录的方式,Spring Security 没有现成的接口可以使用,所以需要自己的封装一个类似的 ...

  9. Unity利用SMSSDK实现短信验证码(附代码)

    最近一直在研究如何给app更多实用性的功能,在app进行登录或者注册时,为了方便用户更加快捷的完成登录功能,所以就决定采用短信验证码的方式进行验证登录.在学习的过程中,先使用了Mob的短信服务进行短信 ...

随机推荐

  1. nginx负载均衡最新

    配置conf文件 #user  nobody;worker_processes  1;#error_log  logs/error.log;#error_log  logs/error.log  no ...

  2. VS2013无调试信息

    Debug模式,运行时完全正常,但是一调试就出现对话框,显示出错信息: "无法找到"XXX.exe"的调试信息,或者调试信息不匹配.未使用调试信息生成二进制文件.&quo ...

  3. 阿里云RDS for MySQL备份文件+binlog恢复过程中碰到的一些问题

    1.一开始通过官方下载有的压缩包安装,碰到各种依赖问题,最后采用YUM安装 1.通过yum安装percona-Xtrabackup 1.1 先安装依赖: yum install perl-DBI yu ...

  4. 通过统计用户DNS解析记录,实现监控用户上网行为

    上次通过扫描抓包分析TTL的方式检测公司网络开放的端口,发现没有开放53端口(DNS),也就是在公司内部的主机只能用服务器自动分配的DNS,并且发现这是台内部服务器.今天发现bing上不去,检测后发现 ...

  5. MHA的在线切换后的一些总结(mha方案来自网络)

    mha方案来自:http://www.cnblogs.com/xuanzhi201111/p/4231412.html MHA的在线切换 192.168.2.131 [root bin]$ maste ...

  6. 第七章:利用AdaBoost元算法提高分类性能

    本章内容□ 组合相似的分类器来提髙分类性能□应用AdaBoost算法□ 处理非均衡分类问题

  7. iOS 选择的照片或者拍照的图片上添加日期水印

    1..引入框架 #import "CLLocation+GPSDictionary.h"#import "NSDictionary+CLLocation.h" ...

  8. strncpy和memcpy的区别

    今天不小心在该用memcpy的时候,用了strncpy使自己吃了亏,所以写出这个博文. memcpy就是纯字节拷贝,而strncpy就不同了,字符串是以'\0'结尾的.如果一个字符buffer长度为6 ...

  9. 从网络上下载文件到sd卡上

    String SDPATH = Environment.getExternalStorageDirectory() + "/"; String path = SDPATH + &q ...

  10. Gbase配置

    喵了个咪的.到目前为止,自己已经用过SQL SERVER,My SQL,Oracle,SQLite,加上南大通用GBASE 五种数据库了.虽然每种都用的不深 注:GBASE提供了C的API,查看手册即 ...