MD5加密函数签名校验+时间戳时间间隔校验
来源:互联网 发布:jing 软件 编辑:程序博客网 时间:2024/05/20 22:06
public boolean validateSign(Map<String, Object> map,String sign) throws Exception{
String s="";
Iterator ir=map.keySet().iterator();//获取hashMap的键值,并进行遍历
while(ir.hasNext()){//千万不要用map.keyset,无序的set你懂得,再次打乱你的排序
String key= ir.next().toString();
s+=key;
s+="=";
s+=map.get(key);
}
Token token=tokenDao.findByCode(map.get("companyCode")+"_"+map.get("equipmentCode"));
s+="token="+token.getToken();
MessageDigest md5=MessageDigest.getInstance("MD5");
BASE64Encoder base64=new BASE64Encoder();
String string=base64.encode(md5.digest(s.getBytes("utf-8")));
if(string.equals(sign)){
return true;
}
else {
return false;
}
String s="";
Iterator ir=map.keySet().iterator();//获取hashMap的键值,并进行遍历
while(ir.hasNext()){//千万不要用map.keyset,无序的set你懂得,再次打乱你的排序
String key= ir.next().toString();
s+=key;
s+="=";
s+=map.get(key);
}
Token token=tokenDao.findByCode(map.get("companyCode")+"_"+map.get("equipmentCode"));
s+="token="+token.getToken();
MessageDigest md5=MessageDigest.getInstance("MD5");
BASE64Encoder base64=new BASE64Encoder();
String string=base64.encode(md5.digest(s.getBytes("utf-8")));
if(string.equals(sign)){
return true;
}
else {
return false;
}
}
客户端将参数排序进行MD5加密后,得到sign。 服务端再次将你的参数排序进行MD5加密,比较两次得到的值,相同校验成功。为了防止抓包,然后不停发送攻击的包,可以把
时间戳当做参数加入其中。
public boolean validateTimeStamp(String TimeStamp) throws Exception{
Date dt=new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddHHmmss");
Date timestamp = sdf.parse(TimeStamp);
if((dt.getTime()-timestamp.getTime())/60000>5){//验证时间戳是否超过五分钟
return false;
}
else{
return true;
}
}
0 0
- MD5加密函数签名校验+时间戳时间间隔校验
- 时间校验
- 时间校验
- 日期加时间校验函数
- md5 校验和加密
- recovery 升级时间戳校验
- easyui 时间段校验,开始时间小于结束时间,并且时间间隔不能超过30天
- easyui 时间段校验,开始时间小于结束时间,并且时间间隔不能超过30天
- MD5校验文件/读取签名MD5
- 校验日期时间的JS函数
- 校验日期时间的JS函数
- 时间校验 与时间转化
- JS时间校验
- 时间格式校验
- js校验时间格式
- Java校验时间
- jquery 时间校验
- 开始、结束时间校验
- SPI、IIC、UART区别
- 高性能流媒体服务器-nebula之数据结构(6)--无节点内存分配的单、双链表
- 哎,学一半发现难以绕过著名数据分析模块
- java自增策略小陷阱
- 详解自主实现RecyclerView下拉刷新、上拉加载、Header、Footer以及swiperefreshlayout的部分讲解
- MD5加密函数签名校验+时间戳时间间隔校验
- *** No rule to make target
- ListView使用小技巧
- webservice传值list<map>
- Python基础03 序列
- Android 开发规范
- GPUImage使用几点总结
- Hibernate学习笔记
- 图解DbgView使用