?
This document uses PHP Chinese website manual Release
CodeIgniter提供了一組兼容性功能,使您可以使用PHP本身可用的功能,但只能使用更高版本或取決于特定擴展名的功能。
作為自定義實現(xiàn),這些函數(shù)自身也會有一些依賴項,但如果PHP安裝程序本身不提供這些依賴項,它們?nèi)匀缓苡杏谩?/p>
注意
與常見功能非常相似,兼容性功能始終可用,只要滿足其相關(guān)性即可。
密碼散列
依賴
常量
功能參考
哈希(消息摘要)
依賴
功能參考
多字節(jié)字符串
依賴
功能參考
標(biāo)準(zhǔn)函數(shù)
依賴
功能參考
這組兼容性函數(shù)提供了PHP的標(biāo)準(zhǔn)密碼散列擴展的“后端”,否則這些擴展只能在PHP 5.5之后才可用。
PHP 5.3.7
CRYPT_BLOWFISH
support for crypt()
PASSWORD_BCRYPT
PASSWORD_DEFAULT
password_get_info($hash)
參數(shù): | $ hash(字符串) - 密碼哈希 |
---|---|
返回: | 有關(guān)散列密碼的信息 |
返回類型: | 排列 |
$ hash(字符串) - 密碼哈希
返回:有關(guān)散列密碼的信息
Return type: array
有關(guān)更多信息,請參閱[PHP手冊的密碼\ _get \ _info()](http://php.net/password_get_info)。
password_hash($password, $algo[, $options = array()])
參數(shù): | $ password(string) - 純文本密碼$ algo(int) - 散列算法$ options(array) - 散列選項 |
---|---|
返回: | 散列密碼或FALSE失敗 |
返回類型: | 串 |
$密碼(字符串) - 純文本密碼
$ algo(int) - 哈希算法
$選項(數(shù)組) - 散列選項
Returns: Hashed password or FALSE on failure
Return type: string
有關(guān)更多信息,請參閱[用于密碼的PHP手冊\ _hash()](http://php.net/password_hash)。
注意
除非你提供你自己的(和有效的)salt,否則這個函數(shù)進一步依賴于可用的CSPRNG源。以下每一項都可以滿足以下要求: - mcrypt_create_iv()
使用MCRYPT_DEV_URANDOM
- openssl_random_pseudo_bytes()
- / dev / arandom - / dev / urandom
password_needs_rehash()
參數(shù): | $ hash(字符串) - 密碼散列$ algo(int) - 散列算法$ options(數(shù)組) - 散列選項 |
---|---|
返回: | 如果哈希應(yīng)該重新映射以匹配給定算法和選項,則為TRUE;否則為FALSE |
返回類型: | 布爾 |
$ hash(字符串) - 密碼哈希
$ algo(int) - 哈希算法
$選項(數(shù)組) - 散列選項
返回:如果哈希應(yīng)該重新映射以匹配給定的算法和選項,則返回TRUE;否則返回FALSE
Return type: bool
有關(guān)更多信息,請參閱[PHP手冊中的密碼\ _needs \ _rehash()](http://php.net/password_needs_rehash)。
password_verify($password, $hash)
參數(shù): | $ password(字符串) - 純文本密碼$ hash(字符串) - 密碼哈希 |
---|---|
返回: | 如果密碼與散列相匹配則為TRUE,否則為FALSE |
返回類型: | 布爾 |
$密碼(字符串) - 純文本密碼
$ hash(字符串) - 密碼哈希
返回:如果密碼與哈希匹配,則返回TRUE;否則返回FALSE
Return type: bool
有關(guān)更多信息,請參閱[PHP手冊的密碼\ _verify()](http://php.net/password_verify)。
這個兼容層包含hash_equals()
和hash_pbkdf2()
函數(shù)的backports ,它們分別需要PHP 5.6和/或PHP 5.5。
沒有
hash_equals($known_string, $user_string)
參數(shù): | $ known_string(string) - 已知字符串$ user_string(字符串) - 用戶提供的字符串 |
---|---|
返回: | 如果字符串匹配則為TRUE,否則為FALSE |
返回類型: | 串 |
$ known_string(字符串) - 已知字符串
$ user_string(字符串) - 用戶提供的字符串
返回:如果字符串匹配則返回TRUE,否則返回FALSE
Return type: string
有關(guān)更多信息,請參閱[PHP手冊中的hash \ _equals()](http://php.net/hash_equals)。
hash_pbkdf2($algo, $password, $salt, $iterations[, $length = 0[, $raw_output = FALSE]])
參數(shù): | $ algo(string) - 哈希算法$ password(string) - 密碼$ salt(字符串) - 哈希salt $ iterations(int) - 派生期間執(zhí)行的迭代次數(shù)$ length(int) - 輸出字符串長度$ raw_output(bool) - 是否返回原始二進制數(shù)據(jù) |
---|---|
返回: | 密碼派生密鑰或FALSE失敗 |
返回類型: | 串 |
$ algo(字符串) - 哈希算法
$密碼(字符串) - 密碼
$鹽(字符串) - 哈希鹽
$ iterations(int) - 派生期間要執(zhí)行的迭代次數(shù)
$ length(int) - 輸出字符串長度
$ raw_output(bool) - 是否返回原始二進制數(shù)據(jù)
Returns: Password-derived key or FALSE on failure
Return type: string
有關(guān)更多信息,請參閱[PHP手冊中的散列\(zhòng) _pbkdf2()](http://php.net/hash_pbkdf2)。
這組兼容性函數(shù)對PHP的多字節(jié)字符串?dāng)U展提供了有限的支持。由于替代解決方案有限,只有少數(shù)功能可用。
注意
當(dāng)字符集參數(shù)被忽略時,$config['charset']
將被使用。
iconv extension
重要
這種依賴是可選的,并且這些函數(shù)將一直被聲明。如果iconv不可用,它們將回退到它們的非mbstring版本。
重要
在提供字符集的情況下,它必須受iconv支持并且采用它可識別的格式。
注意
對于您對實際的mbstring擴展名擁有依賴性檢查,請使用該MB_ENABLED
常量。
mb_strlen($str[, $encoding = NULL])
參數(shù): | $ str(string) - 輸入字符串$ encoding(string) - 字符集 |
---|---|
返回: | 輸入字符串中的字符數(shù)或失敗時的FALSE |
返回類型: | 串 |
$ str(string) - 輸入字符串
$編碼(字符串) - 字符集
返回:輸入字符串中的字符數(shù)或失敗時的FALSE
Return type: string
有關(guān)更多信息,請參閱[PHP的mb \ _strlen()手冊](http://php.net/mb_strlen)。
mb_strpos($haystack, $needle[, $offset = 0[, $encoding = NULL]])
參數(shù): | $ haystack(string) - 在$ needle(string)中搜索的字符串 - 搜索$ offset的字符串的一部分(int) - 搜索偏移量$ encoding(string) - 字符集 |
---|---|
返回: | 找到$ needle的數(shù)字字符位置,如果未找到,則為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]])
參數(shù): | $ str(string) - 輸入字符串$ start(int) - 第一個字符的位置$ length(int) - 最大字符數(shù)$ encoding(string) - 字符集 |
---|---|
返回: | 由$ start和$ length指定的$ str部分或失敗時的FALSE部分 |
返回類型: | 串 |
$ str(string) - 輸入字符串
$ start(int) - 第一個字符的位置
$ length(int) - 最大字符數(shù)
$編碼(字符串) - 字符集
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).
這組兼容性函數(shù)提供了對PHP中幾個標(biāo)準(zhǔn)函數(shù)的支持,否則這些函數(shù)需要更新的PHP版本。
沒有
array_column(array $array, $column_key[, $index_key = NULL])
參數(shù): | $ array(array) - 從$ column_key獲取結(jié)果的數(shù)組(混合) - 從$ index_key返回值的列的鍵(混合) - 用于返回值的鍵 |
---|---|
返回: | 表示輸入數(shù)組中單個列的值數(shù)組 |
返回類型: | 排列 |
$ array(array) - 從中獲取結(jié)果的數(shù)組
$ 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)
參數(shù): | $ data(array) - 數(shù)據(jù)的十六進制表示 |
---|---|
返回: | 給定數(shù)據(jù)的二進制表示 |
返回類型: | 串 |
$ data(array) - 數(shù)據(jù)的十六進制表示
返回:給定數(shù)據(jù)的二進制表示
Return type: string