hash_hmac
(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)
hash_hmac — HMAC 메서드를 사용하여 키 해시 값 생성
설명
hash_hmac( string $algo, string $data, string $key, bool $binary = false ): string
매개변수
algo
- 선택한 해싱 알고리즘의 이름(예: "md5", "sha256", "haval160,4" 등). 지원되는 알고리즘 목록은 hash_hmac_algos()를 참조하십시오.
data
- 해시할 메시지입니다.
key
- 메시지 다이제스트의 HMAC 변형을 생성하는 데 사용되는 공유 비밀 키입니다.
binary
true
로 설정하면 원시 바이너리 데이터를 출력합니다.false
는 소문자 16진수를 출력합니다.
반환 값
binary
가 true로 설정되어 메시지 다이제스트의 원시 바이너리 표현이 반환되는 경우가 아니면 계산된 메시지 다이제스트를 포함하는 문자열을 소문자 16진수로 반환합니다.
변경 로그
버전 | 설명 |
---|---|
8.0.0 | hash_hmac()은 algo 을 알 수 없거나 암호화되지 않은 해시 함수인 경우 ValueError 예외를 발생시킵니다. 이전에는 false 가 대신 반환되었습니다. |
7.2.0 | 비암호화 해시 함수(adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat)의 사용이 비활성화되었습니다. |
Examples
예제 #1 hash_hmac() 예제
PHP 7.4.0부터 hash_algos()는 다음과 같은 알고리즘 이름 목록을 반환합니다.
<?php
echo hash_hmac('ripemd160', 'The quick brown fox jumped over the lazy dog.', 'secret');
?>
위의 예는 다음을 출력합니다.
b8e7ae12510bdfb1812e463a7f086122cf37e4f7
기타
- hash() - 해시 값 생성(메시지 다이제스트)
- hash_hmac_algos() - hash_hmac에 적합한 등록된 해싱 알고리즘 목록을 반환합니다.
- hash_init() - 증분 해시 컨텍스트 초기화
- hash_hmac_file() - HMAC 메서드와 주어진 파일의 내용을 사용하여 키가 있는 해시 값 생성