兼容性函数 | Compatibility Functions
CodeIgniter提供了一组兼容性功能,使您可以使用PHP本身可用的功能,但只能使用更高版本或取决于特定扩展名的功能。
作为自定义实现,这些函数自身也会有一些依赖项,但如果PHP安装程序本身不提供这些依赖项,它们仍然很有用。
注意
与常见功能非常相似,兼容性功能始终可用,只要满足其相关性即可。
- 密码散列
- 依赖
- 常量
- 功能参考
- 哈希(消息摘要)
- 依赖
- 功能参考
- 多字节字符串
- 依赖
- 功能参考
- 标准函数
- 依赖
- 功能参考
密码散列
依赖
- PHP 5.3.7
CRYPT_BLOWFISH
support forcrypt()
常量
PASSWORD_BCRYPT
PASSWORD_DEFAULT
功能参考
password_get_info($hash)
参数: | $ hash(字符串) - 密码哈希 |
---|---|
返回: | 有关散列密码的信息 |
返回类型: | 排列 |
- $ hash(字符串) - 密码哈希
返回:有关散列密码的信息
Return type: array
有关更多信息,请参阅[PHP手册的密码\ _get \ _info()](https://php.net/password_get_info)。
password_hash($password, $algo[, $options = array()])
参数: | $ password(string) - 纯文本密码$ algo(int) - 散列算法$ options(array) - 散列选项 |
---|---|
返回: | 散列密码或FALSE失败 |
返回类型: | 串 |
- $密码(字符串) - 纯文本密码
- $ algo(int) - 哈希算法
- $选项(数组) - 散列选项
返回:散列密码或失败时为FALSE
Return type: string
有关更多信息,请参阅[PHP手册的密码\ _hash()](https://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()](https://php.net/password_needs_rehash)。
password_verify($password, $hash)
参数: | $ password(字符串) - 纯文本密码$ hash(字符串) - 密码哈希 |
---|---|
返回: | 如果密码与散列相匹配则为TRUE,否则为FALSE |
返回类型: | 布尔 |
- $密码(字符串) - 纯文本密码
- $ hash(字符串) - 密码哈希
返回:如果密码与哈希匹配,则返回TRUE;否则返回FALSE
Return type: bool
有关更多信息,请参阅[PHP手册的密码\ _verify()](https://php.net/password_verify)。
Hash (Message Digest)
这个兼容层包含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
For more information, please refer to the [PHP manual for hash\_equals()](https://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()](https://php.net/hash_pbkdf2)。
Multibyte String
这组兼容性函数对PHP的多字节字符串扩展提供了有限的支持。由于替代解决方案有限,只有少数功能可用。
注意
当字符集参数被忽略时,$config['charset']
将被使用。
依赖
- iconv扩展名
重要
这种依赖是可选的,并且这些函数将一直被声明。如果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()手册](https://php.net/mb_strlen)。
mb_strpos($haystack, $needle[, $offset = 0[, $encoding = NULL]])
参数: | $ haystack(string) - 在$ needle(string)中搜索的字符串 - 搜索$ offset的字符串的一部分(int) - 搜索偏移量$ encoding(string) - 字符集 |
---|---|
返回: | 找到$ needle的数字字符位置,如果未找到,则为FALSE |
返回类型: | 杂 |
- $ haystack(string) - 要搜索的字符串
- $ needle(string) - 要搜索的字符串的一部分
- $ offset(int) - 搜索偏移量
- $编码(字符串) - 字符集
返回:发现$ needle的数字字符位置,如果未找到,则返回FALSE
返回类型:混合
有关更多信息,请参阅[PHP的mb \ _strpos()手册](https://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) - 最大字符数
- $编码(字符串) - 字符集
返回:由$ start指定的$ str部分,如果失败,则为$ length或FALSE
Return type: string
有关更多信息,请参阅[PHP的mb \ _substr()]手册(https://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) - 用于返回值的键
返回:表示输入数组中单个列的值数组
返回类型:数组
有关更多信息,请参考[PHP手册中的array \ _column()](https://php.net/array_column)。
hex2bin($data)
参数: | $ data(array) - 数据的十六进制表示 |
---|---|
返回: | 给定数据的二进制表示 |
返回类型: | 串 |
- $ data(array) - 数据的十六进制表示
返回:给定数据的二进制表示
Return type: string
有关更多信息,请参阅[PHP手册的hex2bin()](https://php.net/hex2bin)。
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com