©
本文档使用 PHP中文网手册 发布
CodeIgniter提供了一组兼容性功能,使您可以使用PHP本身可用的功能,但只能使用更高版本或取决于特定扩展名的功能。
作为自定义实现,这些函数自身也会有一些依赖项,但如果PHP安装程序本身不提供这些依赖项,它们仍然很有用。
注意
与常见功能非常相似,兼容性功能始终可用,只要满足其相关性即可。
密码散列
依赖
常量
功能参考
哈希(消息摘要)
依赖
功能参考
多字节字符串
依赖
功能参考
标准函数
依赖
功能参考
这组兼容性函数提供了PHP的标准密码散列扩展的“后端”,否则这些扩展只能在PHP 5.5之后才可用。
PHP 5.3.7
CRYPT_BLOWFISH
support for crypt()
PASSWORD_BCRYPT
PASSWORD_DEFAULT
password_get_info($hash)
参数: | $ hash(字符串) - 密码哈希 |
---|---|
返回: | 有关散列密码的信息 |
返回类型: | 排列 |
$ hash(字符串) - 密码哈希
返回:有关散列密码的信息
Return type: array
有关更多信息,请参阅[PHP手册的密码\ _get \ _info()](http://php.net/password_get_info)。
password_hash($password, $algo[, $options = array()])
参数: | $ password(string) - 纯文本密码$ algo(int) - 散列算法$ options(array) - 散列选项 |
---|---|
返回: | 散列密码或FALSE失败 |
返回类型: | 串 |
$密码(字符串) - 纯文本密码
$ algo(int) - 哈希算法
$选项(数组) - 散列选项
Returns: Hashed password or FALSE on failure
Return type: string
有关更多信息,请参阅[用于密码的PHP手册\ _hash()](http://php.net/password_hash)。
注意
除非你提供你自己的(和有效的)salt,否则这个函数进一步依赖于可用的CSPRNG源。以下每一项都可以满足以下要求: - mcrypt_create_iv()
使用MCRYPT_DEV_URANDOM
- openssl_random_pseudo_bytes()
- / dev / arandom - / dev / urandom
password_needs_rehash()
参数: | $ hash(字符串) - 密码散列$ algo(int) - 散列算法$ options(数组) - 散列选项 |
---|---|
返回: | 如果哈希应该重新映射以匹配给定算法和选项,则为TRUE;否则为FALSE |
返回类型: | 布尔 |
$ hash(字符串) - 密码哈希
$ algo(int) - 哈希算法
$选项(数组) - 散列选项
返回:如果哈希应该重新映射以匹配给定的算法和选项,则返回TRUE;否则返回FALSE
Return type: bool
有关更多信息,请参阅[PHP手册中的密码\ _needs \ _rehash()](http://php.net/password_needs_rehash)。
password_verify($password, $hash)
参数: | $ password(字符串) - 纯文本密码$ hash(字符串) - 密码哈希 |
---|---|
返回: | 如果密码与散列相匹配则为TRUE,否则为FALSE |
返回类型: | 布尔 |
$密码(字符串) - 纯文本密码
$ hash(字符串) - 密码哈希
返回:如果密码与哈希匹配,则返回TRUE;否则返回FALSE
Return type: bool
有关更多信息,请参阅[PHP手册的密码\ _verify()](http://php.net/password_verify)。
这个兼容层包含hash_equals()
和hash_pbkdf2()
函数的backports ,它们分别需要PHP 5.6和/或PHP 5.5。
没有
hash_equals($known_string, $user_string)
参数: | $ known_string(string) - 已知字符串$ user_string(字符串) - 用户提供的字符串 |
---|---|
返回: | 如果字符串匹配则为TRUE,否则为FALSE |
返回类型: | 串 |
$ known_string(字符串) - 已知字符串
$ user_string(字符串) - 用户提供的字符串
返回:如果字符串匹配则返回TRUE,否则返回FALSE
Return type: string
有关更多信息,请参阅[PHP手册中的hash \ _equals()](http://php.net/hash_equals)。
hash_pbkdf2($algo, $password, $salt, $iterations[, $length = 0[, $raw_output = FALSE]])
参数: | $ algo(string) - 哈希算法$ password(string) - 密码$ salt(字符串) - 哈希salt $ iterations(int) - 派生期间执行的迭代次数$ length(int) - 输出字符串长度$ raw_output(bool) - 是否返回原始二进制数据 |
---|---|
返回: | 密码派生密钥或FALSE失败 |
返回类型: | 串 |
$ algo(字符串) - 哈希算法
$密码(字符串) - 密码
$盐(字符串) - 哈希盐
$ iterations(int) - 派生期间要执行的迭代次数
$ length(int) - 输出字符串长度
$ raw_output(bool) - 是否返回原始二进制数据
Returns: Password-derived key or FALSE on failure
Return type: string
有关更多信息,请参阅[PHP手册中的散列\ _pbkdf2()](http://php.net/hash_pbkdf2)。
这组兼容性函数对PHP的多字节字符串扩展提供了有限的支持。由于替代解决方案有限,只有少数功能可用。
注意
当字符集参数被忽略时,$config['charset']
将被使用。
iconv extension
重要
这种依赖是可选的,并且这些函数将一直被声明。如果iconv不可用,它们将回退到它们的非mbstring版本。
重要
在提供字符集的情况下,它必须受iconv支持并且采用它可识别的格式。
注意
对于您对实际的mbstring扩展名拥有依赖性检查,请使用该MB_ENABLED
常量。
mb_strlen($str[, $encoding = NULL])
参数: | $ str(string) - 输入字符串$ encoding(string) - 字符集 |
---|---|
返回: | 输入字符串中的字符数或失败时的FALSE |
返回类型: | 串 |
$ str(string) - 输入字符串
$编码(字符串) - 字符集
返回:输入字符串中的字符数或失败时的FALSE
Return type: string
有关更多信息,请参阅[PHP的mb \ _strlen()手册](http://php.net/mb_strlen)。
mb_strpos($haystack, $needle[, $offset = 0[, $encoding = NULL]])
参数: | $ haystack(string) - 在$ needle(string)中搜索的字符串 - 搜索$ offset的字符串的一部分(int) - 搜索偏移量$ encoding(string) - 字符集 |
---|---|
返回: | 找到$ needle的数字字符位置,如果未找到,则为FALSE |
返回类型: | mixed |
$ haystack(string) - 要搜索的字符串
$ needle(string) - 要搜索的字符串的一部分
$ offset(int) - 搜索偏移量
$编码(字符串) - 字符集
Returns: Numeric character position of where $needle was found or FALSE if not found
Return type: mixed
For more information, please refer to the [PHP manual for mb\_strpos()](http://php.net/mb_strpos).
mb_substr($str, $start[, $length = NULL[, $encoding = NULL]])
参数: | $ str(string) - 输入字符串$ start(int) - 第一个字符的位置$ length(int) - 最大字符数$ encoding(string) - 字符集 |
---|---|
返回: | 由$ start和$ length指定的$ str部分或失败时的FALSE部分 |
返回类型: | 串 |
$ str(string) - 输入字符串
$ start(int) - 第一个字符的位置
$ length(int) - 最大字符数
$编码(字符串) - 字符集
Returns: Portion of $str specified by $start and $length or FALSE on failure
Return type: string
For more information, please refer to the [PHP manual for mb\_substr()](http://php.net/mb_substr).
这组兼容性函数提供了对PHP中几个标准函数的支持,否则这些函数需要更新的PHP版本。
没有
array_column(array $array, $column_key[, $index_key = NULL])
参数: | $ array(array) - 从$ column_key获取结果的数组(混合) - 从$ index_key返回值的列的键(混合) - 用于返回值的键 |
---|---|
返回: | 表示输入数组中单个列的值数组 |
返回类型: | 排列 |
$ array(array) - 从中获取结果的数组
$ column_key(mixed) - 从中返回值的列的键
$ index_key(mixed) - 用于返回值的键
Returns: An array of values representing a single column from the input array
Return type: array
For more information, please refer to the [PHP manual for array\_column()](http://php.net/array_column).
hex2bin($data)
参数: | $ data(array) - 数据的十六进制表示 |
---|---|
返回: | 给定数据的二进制表示 |
返回类型: | 串 |
$ data(array) - 数据的十六进制表示
返回:给定数据的二进制表示
Return type: string