gpt4 book ai didi

php - PHP session.hash_function mix 默认使用哪种哈希算法

转载 作者:行者123 更新时间:2023-12-02 07:32:59 24 4
gpt4 key购买 nike

PHP session.hash_function 默认使用哪种哈希算法?以下页面显示默认值是 md5“0”: http://php.net/manual/en/session.configuration.php#ini.session.hash-function然而,哈希算法页面显示代码“0”是 md2。 http://php.net/manual/en/function.hash-algos.php

如果 php.ini 上的代码“0”确实对应于 md5,那么 php.ini 的其他哈希算法的代码是什么?例如 sha512 的代码是什么?

最佳答案

如果你运行print_r(hash_algos());,下面的数组是一种更可靠的方法来查找哪些设置适用于哪种算法,如here所述

A complete list of supported algorithms can be obtained with the hash_algos() function.

我用 PHP 7.0.5 运行它

Array
(
[0] => md2
[1] => md4
[2] => md5
[3] => sha1
[4] => sha224
[5] => sha256
[6] => sha384
[7] => sha512
[8] => ripemd128
[9] => ripemd160
[10] => ripemd256
[11] => ripemd320
[12] => whirlpool
[13] => tiger128,3
[14] => tiger160,3
[15] => tiger192,3
[16] => tiger128,4
[17] => tiger160,4
[18] => tiger192,4
[19] => snefru
[20] => snefru256
[21] => gost
[22] => gost-crypto
[23] => adler32
[24] => crc32
[25] => crc32b
[26] => fnv132
[27] => fnv1a32
[28] => fnv164
[29] => fnv1a64
[30] => joaat
[31] => haval128,3
[32] => haval160,3
[33] => haval192,3
[34] => haval224,3
[35] => haval256,3
[36] => haval128,4
[37] => haval160,4
[38] => haval192,4
[39] => haval224,4
[40] => haval256,4
[41] => haval128,5
[42] => haval160,5
[43] => haval192,5
[44] => haval224,5
[45] => haval256,5
)

更多详细信息:

函数hash_algos返回一个字符串数组。数组的索引并不指示ini 文件的设置。你应该使用字符串,i。 e. “sha512”用于 ini 设置,例如 session.hash_function = sha512

正如文档中所写,从 PHP 5.3 开始可以指定字符串值

Since PHP 5.3.0 it is also possible to specify any of the algorithms provided by the hash extension (if it is available), like sha512 or whirlpool.

回答你的两个问题:

  1. 默认值是多少?

默认值为“0” - 正如您在 offical PHP source code 中看到的那样在 Github 上

  • 除了“0”和“1”之外,还允许分别记录哪些其他值?
  • 嗯,这有点难以解释,但我会尝试。根据这个值的C实现,你可以找到 here 。根据checks inside this function似乎只有01other值(value)观。 其他值似乎是来自 hash_algos() 数组的值。

  • 为什么 0=MD5 和 1=SHA1? (你可能会问)正因如此enum在C中

    枚举{ PS_HASH_FUNC_MD5, PS_HASH_FUNC_SHA1, PS_HASH_FUNC_OTHER };

  • 坦率地说,您可以在其之前放置(某种数组)索引,然后导致

    0 => PS_HASH_FUNC_MD5,
    1 => PS_HASH_FUNC_SHA1,
    ... PS_HASH_FUNC_OTHER

    关于php - PHP session.hash_function mix 默认使用哪种哈希算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37281111/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com