호환성 함수

CodeIgniter는 PHP에서 기본적으로 사용할 수 있지만 상위 버전에서만 또는 특정 확장에 따라 사용 가능한 함수를 사용할 수 있도록 호환성 함수 세트를 제공합니다.

이러한 함수는 커스텀 구현이므로 자체적인 의존성이 있을 수 있지만, PHP 설정에서 기본적으로 제공하지 않는 경우에도 유용합니다.

참고

공통 함수와 마찬가지로 호환성 함수는 의존성이 충족되는 한 항상 사용 가능합니다.

비밀번호 해싱

이 호환성 함수 세트는 PHP 5.5 이후에만 사용 가능한 PHP의 표준 비밀번호 해싱 확장의 “백포트”를 제공합니다.

의존성

  • crypt()CRYPT_BLOWFISH 지원

상수

  • PASSWORD_BCRYPT

  • PASSWORD_DEFAULT

함수 레퍼런스

password_get_info($hash)
매개변수:
  • $hash (string) – 비밀번호 해시

반환:

해시된 비밀번호에 대한 정보

반환 형식:

array

자세한 내용은 password_get_info()에 대한 PHP 매뉴얼을 참조하세요.

password_hash($password, $algo[, $options = array()])
매개변수:
  • $password (string) – 평문 비밀번호

  • $algo (int) – 해싱 알고리즘

  • $options (array) – 해싱 옵션

반환:

해시된 비밀번호 또는 실패 시 FALSE

반환 형식:

string

자세한 내용은 password_hash()에 대한 PHP 매뉴얼을 참조하세요.

참고

자신만의 (유효한) 솔트를 제공하지 않는 한 이 함수는 사용 가능한 CSPRNG 소스에 추가 의존성이 있습니다. 다음 중 하나라도 충족되면 됩니다: - MCRYPT_DEV_URANDOM과 함께 mcrypt_create_iv() - openssl_random_pseudo_bytes() - /dev/arandom - /dev/urandom

password_needs_rehash()
매개변수:
  • $hash (string) – 비밀번호 해시

  • $algo (int) – 해싱 알고리즘

  • $options (array) – 해싱 옵션

반환:

주어진 알고리즘과 옵션에 맞게 해시를 재해싱해야 하면 TRUE, 아니면 FALSE

반환 형식:

bool

자세한 내용은 password_needs_rehash()에 대한 PHP 매뉴얼을 참조하세요.

password_verify($password, $hash)
매개변수:
  • $password (string) – 평문 비밀번호

  • $hash (string) – 비밀번호 해시

반환:

비밀번호가 해시와 일치하면 TRUE, 아니면 FALSE

반환 형식:

bool

자세한 내용은 password_verify()에 대한 PHP 매뉴얼을 참조하세요.

해시 (메시지 다이제스트)

이 호환성 레이어는 각각 PHP 5.6 및/또는 PHP 5.5를 필요로 하는 hash_equals()hash_pbkdf2() 함수의 백포트를 포함합니다.

의존성

  • 없음

함수 레퍼런스

hash_equals($known_string, $user_string)
매개변수:
  • $known_string (string) – 알려진 문자열

  • $user_string (string) – 사용자 제공 문자열

반환:

문자열이 일치하면 TRUE, 아니면 FALSE

반환 형식:

string

자세한 내용은 hash_equals()에 대한 PHP 매뉴얼을 참조하세요.

hash_pbkdf2($algo, $password, $salt, $iterations[, $length = 0[, $raw_output = FALSE]])
매개변수:
  • $algo (string) – 해싱 알고리즘

  • $password (string) – 비밀번호

  • $salt (string) – 해시 솔트

  • $iterations (int) – 파생 중 수행할 반복 횟수

  • $length (int) – 출력 문자열 길이

  • $raw_output (bool) – 원시 바이너리 데이터를 반환할지 여부

반환:

비밀번호 파생 키 또는 실패 시 FALSE

반환 형식:

string

자세한 내용은 hash_pbkdf2()에 대한 PHP 매뉴얼을 참조하세요.

멀티바이트 문자열

이 호환성 함수 세트는 PHP의 멀티바이트 문자열 확장에 대한 제한적인 지원을 제공합니다. 대안적인 솔루션의 한계로 인해 몇 가지 함수만 사용 가능합니다.

참고

문자 집합 매개변수가 생략되면 $config['charset']이 사용됩니다.

의존성

중요

이 의존성은 선택 사항이며 이 함수들은 항상 선언됩니다. iconv를 사용할 수 없는 경우 비-mbstring 버전으로 대체됩니다.

중요

문자 집합이 제공되는 경우 iconv에서 지원되는 형식이어야 합니다.

참고

실제 mbstring 확장에 대한 의존성 확인은 MB_ENABLED 상수를 사용하세요.

함수 레퍼런스

mb_strlen($str[, $encoding = NULL])
매개변수:
  • $str (string) – 입력 문자열

  • $encoding (string) – 문자 집합

반환:

입력 문자열의 문자 수 또는 실패 시 FALSE

반환 형식:

string

자세한 내용은 mb_strlen()에 대한 PHP 매뉴얼을 참조하세요.

mb_strpos($haystack, $needle[, $offset = 0[, $encoding = NULL]])
매개변수:
  • $haystack (string) – 검색할 문자열

  • $needle (string) – 검색할 문자열의 일부

  • $offset (int) – 검색 오프셋

  • $encoding (string) – 문자 집합

반환:

$needle이 발견된 위치의 숫자 문자 위치 또는 발견되지 않은 경우 FALSE

반환 형식:

mixed

자세한 내용은 mb_strpos()에 대한 PHP 매뉴얼을 참조하세요.

mb_substr($str, $start[, $length = NULL[, $encoding = NULL]])
매개변수:
  • $str (string) – 입력 문자열

  • $start (int) – 첫 번째 문자의 위치

  • $length (int) – 최대 문자 수

  • $encoding (string) – 문자 집합

반환:

$start와 $length로 지정된 $str의 일부 또는 실패 시 FALSE

반환 형식:

string

자세한 내용은 mb_substr()에 대한 PHP 매뉴얼을 참조하세요.

표준 함수

이 호환성 함수 세트는 최신 PHP 버전을 필요로 하는 몇 가지 표준 PHP 함수에 대한 지원을 제공합니다.

의존성

  • 없음

함수 레퍼런스

array_column(array $array, $column_key[, $index_key = NULL])
매개변수:
  • $array (array) – 결과를 가져올 배열

  • $column_key (mixed) – 값을 반환할 열의 키

  • $index_key (mixed) – 반환된 값에 사용할 키

반환:

입력 배열에서 단일 열을 나타내는 값의 배열

반환 형식:

array

자세한 내용은 array_column()에 대한 PHP 매뉴얼을 참조하세요.