hash_init
(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)
hash_init — 증분 해시 컨텍스트 초기화
설명
hash_init( string $algo, int $flags = 0, string $key = "", array $options = [] ): HashContext
매개변수
algo
- 선택한 해싱 알고리즘의 이름(예: "md5", "sha256", "haval160,4" 등). 지원되는 알고리즘 목록은 hash_hmac_algos()를 참조하십시오.
flags
- 해시 생성을 위한 선택적 설정은 현재
HASH_HMAC
라는 하나의 옵션만 지원합니다. 지정된 경우key
를 지정해야 합니다. key
flags
에HASH_HMAC
가 지정되면 HMAC 해싱 메서드와 함께 사용할 공유 비밀 키를 이 매개변수에 제공해야 합니다.options
- 다양한 해싱 알고리즘에 대한 옵션 배열입니다. 현재 MurmurHash 변형은 "seed" 매개변수만 지원합니다.
반환 값
hash_update(), hash_update_stream(), hash_update_file() 및 hash_final()과 함께 사용할 해싱 컨텍스트를 반환합니다.
변경 로그
버전 | 설명 |
---|---|
8.1.0 | options 매개변수가 추가되었습니다. |
7.2.0 | HASH_HMAC 에서 비암호화 해시 함수(adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat)의 사용이 비활성화되었습니다. |
7.2.0 | 리소스 대신 HashContext를 반환합니다. |
Examples
예제 #1 증분 해싱 예제
PHP 7.4.0부터 hash_algos()는 다음과 같은 알고리즘 이름 목록을 반환합니다.
<?php
$ctx = hash_init('md5');
hash_update($ctx, 'The quick brown fox ');
hash_update($ctx, 'jumped over the lazy dog.');
echo hash_final($ctx);
?>
위의 예는 다음을 출력합니다.
5c6ffbdd40d9556b73a21e63c3e0e904
기타
- hash() - 해시 값 생성(메시지 다이제스트)
- hash_algos() - 등록된 해싱 알고리즘 목록 반환
- hash_file() - 주어진 파일의 내용을 사용하여 해시 값 생성
- hash_hmac() - HMAC 메서드를 사용하여 키 해시 값 생성
- hash_hmac_file() - HMAC 메서드와 주어진 파일의 내용을 사용하여 키가 있는 해시 값 생성