使用更改哈希是多么安全,就像时间一样?

时间:2015-11-22 05:12:45

标签: encryption cryptography md5

如果我在php中做这样的事情:

$server_key = md5( '00' . date( 'i' ) . '09' );

并提交一个html表单,其中包含以md5编码的日期(秒)(加上前后的哈希值):

这容易破解吗?

1 个答案:

答案 0 :(得分:2)

我假设在几秒钟内使用MD5哈希值作为身份验证方法,因为问题下面的注释中的信息。

不,这不被认为是安全的,因为

  • 它中断了Kerckhoff's principle:算法本身应该被认为是公共的,任何人都可以在不获取秘密/密钥的情况下实现算法;
  • 很容易迭代所有秒数,例如一年,测试服务器上的所有可能性;
  • 观察创建连接的攻击者已经捕获了时间,或者只是简单地看时钟就可以轻易猜到;

MD5也不安全甚至没有在这里发挥作用(对这个协议应用攻击会非常困难)。