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. scrapy-1.2.1安装失败之解决方法

    前几天重装了win10 64位系统,安装了python-3.5,但是用pip安装scrapy模块时出现如下错误: 看起来是lxml安装的时候出错了,于是先pip install lxml,出现了和上面 ...

  2. Python 5 —— OOP

    OOP class MyClass: y = None def __init__(self,x,y): self.__x = x self.y = y def getx(self): return s ...

  3. CentOS常用的文件操作命令

    CentOS下面常用的文件操作命令: cd pwd NO1. 显示当前路径 [root@rehat root]# pwd NO2. 返回用户主目录 [root@rehat root]# cd NO3. ...

  4. JBoss CLI

    转自http://www.cnblogs.com/inteliot/archive/2012/08/05/2623719.html   为 了便于维护和管理, JBoss AS 7 提供了命令行接口( ...

  5. 产品研发过程中UCD目标的制定与实现

    摘 要:以用户为中心的设计(UCD, User-Centered Design)是保障产品具有较好用户体验(User Experience)的基本活动,其中可用性目标是有效衡量 UCD 活动最终效果的 ...

  6. [置顶]PADS PCB功能使用技巧系列之NO.004- 如何做到20H规则?

    电源层与地层之间变化的电场在板边缘会向外辐射电磁干扰(EMI),称为边沿效应.20H规则可将70%的电场限制在接地层边沿内,100H可达到98%. (1)在Layout中,选择菜单栏Setup -&g ...

  7. css小技巧

    每逢大的灾难的时候,很多网站变成了灰色,如何让网站快速变灰?css代码是很简单的,用的是css的filter功能. html { filter: grayscale(100%);//IE浏览器 -we ...

  8. delphi7 编译程序时报win32.indcu.a病毒的解决方法

    Delphi7用了很久一直都没问题,同一个工程文件昨天编译时mod32还不会报毒,今天重新编译时,生成的exe突然nod32报毒. 提示: “Project1.exe Win32/Induc.A 病毒 ...

  9. Linq To Xml基础

    <?xml version="1.0" encoding="utf-8" ?> <Books> <Category Order=& ...

  10. ORA-12705问题解决过程

    最近开发C#加ORACLE的程序,就有一台电脑连接的时候报错误 ORA-12705: Cannot access NLS data files or invalid environment speci ...