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........
.............
..............

原文地址:https://www.cnblogs.com/attilax/p/15199831.html