zoukankan      html  css  js  c++  java
  • 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........
    .............
    ..............

  • 相关阅读:
    路由的使用
    组件之间的参数传递
    vue组件的全局注册和局部注册
    git版本回退(回退至上个版本,回退至指定版本) git放弃本地所有未提交的修改
    vue工程中的文件
    新建vue项目(webpack-simple)
    NPM install -save 和 -save-dev 傻傻分不清
    动态增加表单vue element ui
    JAVA声明一个对象数组
    调用测试用
  • 原文地址:https://www.cnblogs.com/attilax/p/15199831.html
Copyright © 2011-2022 走看看