1

当我看到来自 phpinfo() 的信息时,session.hash_function值是0,这意味着会话哈希函数是MD5,对吗?

但结果echo strlen( session_id() );26

问题:为什么 是26而不是 32

4

1 回答 1

2

您设置的 session.hash_bits_per_character 越高,您的 session_id 就越短,因为每个字符使用更多位。可能的值为 4、5 或 6。

当使用 sha-1 进行散列时(通过设置 ini_set('session.hash_function', 1),以下会话字符串长度由三个 session.hash_bits_per_character 设置生成:

  • 4 - 40 个字符的字符串
  • 5 - 32 个字符的字符串
  • 6 - 27 个字符的字符串
于 2013-03-08T11:33:45.473 回答