小编Erw*_*and的帖子

散列密码的最佳实践 - SHA256或SHA512?

我目前正在使用带盐的SHA256来哈希我的密码.继续使用SHA256还是更改为SHA512会更好吗?

passwords hash cryptography sha256 sha512

28
推荐指数
4
解决办法
5万
查看次数

我们应该在HTTP/2中多路复用多少个并发请求

很长一段时间,浏览器每个主机最多使用6个并发HTTP 1.1连接来从网页中检索资产.远远超出这个黄金标准被认为是DOS并让你被禁止服务器.

现在有HTTP/2,我们可以在一个连接上复用许多HTTP请求.我们是否仍应对我们在连接上复用的并发请求数量使用类似的限制,以防止服务器过载?或者在单个连接上复用更多请求是否有害?

任何人都知道浏览器使用每台主机和HTTP/2服务器的每个连接限制了什么?

browser google-chrome http2 nghttp2

16
推荐指数
1
解决办法
6462
查看次数

如何编写可靠的独立于内容的 memcmp() 实现?

一个简单的实现memcmp()是这样的(来自这个答案):

int memcmp_test(const char *cs_in, const char *ct_in, size_t n)
{
   size_t i;  
   const unsigned char * cs = (const unsigned char*) cs_in;
   const unsigned char * ct = (const unsigned char*) ct_in;

   for (i = 0; i < n; i++, cs++, ct++)
   {
       if (*cs < *ct)
       {
          return -1;
       }
       else if (*cs > *ct)
       {
          return 1;
       }
   }
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

一旦找到第一个不匹配字节,块遍历就会停止。这对于加密应用程序来说可能没有好处,因为它使得执行时间依赖于块内容,并且这可能允许定时攻击。所以 OpenSSL 使用这个(取自这里):

int CRYPTO_memcmp(const void *in_a, const void …
Run Code Online (Sandbox Code Playgroud)

c security compiler-optimization memcmp timing-attack

5
推荐指数
1
解决办法
1725
查看次数