public class SmsManager {
private static final SmsManager t = new SmsManager();
private static final java.util.Date date = new Date();
DateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
//将手机号和随机数存入Map
Map<String,String> map = new HashMap<String,String>();
String phone =null;
public static SmsManager getInstance(){
return t;
}
private SmsManager() {
Timer timer = new Timer();
timer.schedule(new TimerTask()
{
public void run() {
System.out.println("-------任务执行--------");
deleteValue();
}
}, 1,60000);// delay=2000毫秒 后执行该任务
}
//获得手机号和验证吗(用户输入的)
public boolean sms(String phone,String mobile_code){
//select from map判断存储中是否有这个手机号和验证码
String strvalue;
if(map.containsKey(phone)&&map.containsKey(mobile_code))
{ strvalue= map.get(phone);
String strCode = strvalue.split("@")[0];
String strDate = strvalue.split("@")[1];
System.out.println(strCode+strDate);
//判断输入验证码和生成验证码是否一致
phone.equals(t.porper(phone));
return true;
}
return false;
}
void deleteValue()
{
for (String key : map.keySet()) {
System.out.println("Key = " + key);
String strtime= map.get(key).split("@")[1];
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date=null;
try {
date = df.parse(strtime);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if((new Date().getTime() - date.getTime()) > 300000)
{
map.remove(key);
}
}
}
}
private static final SmsManager t = new SmsManager();
private static final java.util.Date date = new Date();
DateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
//将手机号和随机数存入Map
Map<String,String> map = new HashMap<String,String>();
String phone =null;
public static SmsManager getInstance(){
return t;
}
private SmsManager() {
Timer timer = new Timer();
timer.schedule(new TimerTask()
{
public void run() {
System.out.println("-------任务执行--------");
deleteValue();
}
}, 1,60000);// delay=2000毫秒 后执行该任务
}
//获得手机号和验证吗(用户输入的)
public boolean sms(String phone,String mobile_code){
//select from map判断存储中是否有这个手机号和验证码
String strvalue;
if(map.containsKey(phone)&&map.containsKey(mobile_code))
{ strvalue= map.get(phone);
String strCode = strvalue.split("@")[0];
String strDate = strvalue.split("@")[1];
System.out.println(strCode+strDate);
//判断输入验证码和生成验证码是否一致
phone.equals(t.porper(phone));
return true;
}
return false;
}
void deleteValue()
{
for (String key : map.keySet()) {
System.out.println("Key = " + key);
String strtime= map.get(key).split("@")[1];
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date=null;
try {
date = df.parse(strtime);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if((new Date().getTime() - date.getTime()) > 300000)
{
map.remove(key);
}
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货