paip.提升安全性-----动态KEY
paip.提升安全性-----动态KEY
作者Attilax , 1466519819@qq.com
当我们在两个模块间传递数据时,如果在公网上,需要进行签名..
一般常用MD5,使用KEY来签名..常用的加密也有3DES等..
但是这个KEY是静态的,难以防止暴力破解..有可能造成极大的安全隐患..
所以我们需要一个动态KEY。。可以自动更换。。
更换因子,最好的就是时间了。因为时间一直在变化。
以下是我的实现
key=hash(time) //精确到小时/天,根据具体要求而定
sign=hash(data+key)
send(data,sign)
此时,KEY在一小时/一天内是固定的。校验程序根据这个时间段来校验,一旦过了规定的时间,这个KEY就自动动态变化了..达到了动态KEY的目
的..
当然,如果正好在时间交接的那一点,可能造成KEY校验失败。。所以,两个模块需要时间同步,误差一般在一个小时之内就可以了..
此时,可以上推1小时,下推一小时得到一个KEY来校验。。如果几个KEY都失败,才是真正校验失败..
if(checkfail(data+key))
{
tips(check fail);
end()
}
pretimekey=hash(time-1)
if(pretimekey==key)
{ tips(check fail);
end()
}
if(checkfail(data+pretimekey))
{
tips(check fail);
end()
}
nexttimekey=hash(time+1)
if( nexttimekey==key)
{ tips(check fail);}
}
if(checkfail(data+ nexttimekey))
{
tips(check fail);
end()
}
.......sometine sucess........
.............
..............
paip.提升安全性-----动态KEY相关推荐
- paip. 提升性能---hibernate的缓存使用 总结
paip. 提升性能---hibernate的缓存使用 总结 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog ...
- paip.提升效率--调试--日志系统日志参数含义---python
paip.提升效率--调试--日志系统日志参数含义---python #同时向控制台和文件输出日志 #日志参数含义 import logging log_format = '%(filename)s ...
- golang json数据的处理 动态key 动态字段
目录 实例1 实例2 解析具有动态Key的对象 实例1 json字段 {"friends": [{"id": 0,"name": " ...
- 从程序架构提升安全性
从程序架构提升安全性 常见的程序架构有BS和CS之分 一般 ,CS更安全-- 当然有时候必须得写成WEB程序--但是其中的管理后台可以做成CS的,以提升安全性. 在WEB程序上,我们的站可能被人挂马, ...
- Java 和 Python 解析动态 key 的 JSON 数据
一.概述 解析JSON过程中,什么情况都可能遇到.遇到特殊的情况,不会怎么办?肯定不是设计的问题,一定是你的姿势不对. 有这样一种JSON需要解析: {"b3444533f6544" ...
- paip.提升用户体验--提升java的热部署热更新能力
paip.提升用户体验--提升java的热部署热更新能力 想让java做到php那么好的热部署能力 "fix online"/在线修复吗??直接在服务器上修改源码生效,无需重启应 ...
- paip.提升效率---提升绑定层次--form绑定取代field绑定
paip.提升效率---提升绑定层次--form绑定取代field绑定 =================== 编辑form中,常常需要,绑定一个对象到个form.. 传统上要绑定field开始. ...
- paip.提升性能----硬盘不同转速不同缓存对比转
paip.提升性能----硬盘不同转速不同缓存对比转 西数 WDC WD2500BEVT-08A23T1 ( 250 GB / 5400 转/分 ) 5400转 8M缓存 单碟250 GB 产品 ...
- php 多核cpu,paip.提升性能--多核cpu中的java/.net/php/c++编程
paip.提升性能--多核cpu中的java/.net/php/c++编程 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http ...
- C#获取动态key的json对象的值
C#获取动态key的json对象的值 问题描述 如果直接获取某个json数组中的元素将得到如下的json {"44": {"height": 25," ...
最新文章
- np.random.choice()用法
- TCP连接建立系列 — 服务端接收ACK段(二)
- 1.1 计算机视觉-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
- 面对对象编程(OOP, Object Oriented Programming)及其三个基本特性
- [react] 举例说明什么是高阶组件(HOC)的反向继承
- kubernetes怎么读_每个 Kubernetes 应聘者应该知道的 5 个面试题 | Linux 中国
- 【华为云技术分享】云图说 | Dubbo框架应用也可以使用Istio服务网格
- Java lambda list转换map时,把多个参数拼接作为key
- python set集合与列表_python set集合的添加、删除、修改和访问操作/frozenset 集合,集合内置方法完整列表-立地货...
- Dubbo 源码解析 —— Directory
- C语言IDE推荐code::blocks
- fileupload的回调方法_fileupload指令实现
- 微信小程序mpvue框架
- Code33 整数转罗马数字
- 微信如何直接下载apk,实现微信点击超链接自动下载APP
- 华为鸿蒙系统什么架构,你知道华为鸿蒙到底是什么吗?
- RGB合成图片(misc)
- 优秀的Web前端工程师需要具备什么?
- 最强手机编程App - Dcoder汉化版
- 读《我能记住 - 读写记忆困难儿童实战》
热门文章
- plsql oracle client没有正确安装(plsql连接远程数据库)
- 移动app设计公司流程—APP设计需求分析规范
- The app references non-public selectors in payload With Xcode6.1
- 将Nginx添加到系统服务(使其可使用service命令控制)
- 硬盘安装 Ubuntu 9.04 与 XP 双系统 (含 Grub 不写入 MBR 的方法)
- gcc -l:手动添加链接库
- java switch的应用
- 20145233《网络对抗》Exp6 信息收集和漏洞扫描
- 基础03 JVM到底在哪里?
- MyEclipse使用总结——在MyEclipse中新建Maven框架的web项目[转]