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相关推荐

  1. paip. 提升性能---hibernate的缓存使用 总结

    paip. 提升性能---hibernate的缓存使用 总结 作者Attilax  艾龙,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog ...

  2. paip.提升效率--调试--日志系统日志参数含义---python

    paip.提升效率--调试--日志系统日志参数含义---python #同时向控制台和文件输出日志 #日志参数含义 import logging log_format = '%(filename)s ...

  3. golang json数据的处理 动态key 动态字段

    目录 实例1 实例2 解析具有动态Key的对象 实例1 json字段 {"friends": [{"id": 0,"name": " ...

  4. 从程序架构提升安全性

    从程序架构提升安全性 常见的程序架构有BS和CS之分 一般 ,CS更安全-- 当然有时候必须得写成WEB程序--但是其中的管理后台可以做成CS的,以提升安全性. 在WEB程序上,我们的站可能被人挂马, ...

  5. Java 和 Python 解析动态 key 的 JSON 数据

    一.概述 解析JSON过程中,什么情况都可能遇到.遇到特殊的情况,不会怎么办?肯定不是设计的问题,一定是你的姿势不对. 有这样一种JSON需要解析: {"b3444533f6544" ...

  6. paip.提升用户体验--提升java的热部署热更新能力

    paip.提升用户体验--提升java的热部署热更新能力 想让java做到php那么好的热部署能力  "fix online"/在线修复吗??直接在服务器上修改源码生效,无需重启应 ...

  7. paip.提升效率---提升绑定层次--form绑定取代field绑定

    paip.提升效率---提升绑定层次--form绑定取代field绑定 =================== 编辑form中,常常需要,绑定一个对象到个form..   传统上要绑定field开始. ...

  8. paip.提升性能----硬盘不同转速不同缓存对比转

    paip.提升性能----硬盘不同转速不同缓存对比转 西数 WDC WD2500BEVT-08A23T1 ( 250 GB / 5400 转/分 ) 5400转 8M缓存 单碟250 GB 产品   ...

  9. php 多核cpu,paip.提升性能--多核cpu中的java/.net/php/c++编程

    paip.提升性能--多核cpu中的java/.net/php/c++编程 作者Attilax  艾龙,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http ...

  10. C#获取动态key的json对象的值

    C#获取动态key的json对象的值 问题描述 如果直接获取某个json数组中的元素将得到如下的json {"44": {"height": 25," ...

最新文章

  1. np.random.choice()用法
  2. TCP连接建立系列 — 服务端接收ACK段(二)
  3. 1.1 计算机视觉-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  4. 面对对象编程(OOP, Object Oriented Programming)及其三个基本特性
  5. [react] 举例说明什么是高阶组件(HOC)的反向继承
  6. kubernetes怎么读_每个 Kubernetes 应聘者应该知道的 5 个面试题 | Linux 中国
  7. 【华为云技术分享】云图说 | Dubbo框架应用也可以使用Istio服务网格
  8. Java lambda list转换map时,把多个参数拼接作为key
  9. python set集合与列表_python set集合的添加、删除、修改和访问操作/frozenset 集合,集合内置方法完整列表-立地货...
  10. Dubbo 源码解析 —— Directory
  11. C语言IDE推荐code::blocks
  12. fileupload的回调方法_fileupload指令实现
  13. 微信小程序mpvue框架
  14. Code33 整数转罗马数字
  15. 微信如何直接下载apk,实现微信点击超链接自动下载APP
  16. 华为鸿蒙系统什么架构,你知道华为鸿蒙到底是什么吗?
  17. RGB合成图片(misc)
  18. 优秀的Web前端工程师需要具备什么?
  19. 最强手机编程App - Dcoder汉化版
  20. 读《我能记住 - 读写记忆困难儿童实战》

热门文章

  1. plsql oracle client没有正确安装(plsql连接远程数据库)
  2. 移动app设计公司流程—APP设计需求分析规范
  3. The app references non-public selectors in payload With Xcode6.1
  4. 将Nginx添加到系统服务(使其可使用service命令控制)
  5. 硬盘安装 Ubuntu 9.04 与 XP 双系统 (含 Grub 不写入 MBR 的方法)
  6. gcc -l:手动添加链接库
  7. java switch的应用
  8. 20145233《网络对抗》Exp6 信息收集和漏洞扫描
  9. 基础03 JVM到底在哪里?
  10. MyEclipse使用总结——在MyEclipse中新建Maven框架的web项目[转]