PHP의 md5() 함수는 문자열에 대한 MD5 해시 값을 계산하는 데 사용되는 내장 함수입니다. 주로 데이터 무결성 검증이나 간단한 해싱 작업에 활용됩니다.
문법(Syntax)
md5(str, raw)
매개변수(Parameters)
str − 해시를 계산할 대상 문자열입니다.
raw − 출력 형식을 지정하는 불리언(Boolean) 값입니다.
TRUE − 원본 그대로의 16자리 바이너리(binary) 형식으로 반환합니다.
FALSE − 기본값입니다. 32자리 16진수(hexadecimal) 형식으로 반환합니다.
반환값(Return)
md5() 함수는 계산된 해시를 32자리 16진수 형태의 문자열로 반환합니다.
예제 1: 기본적인 해시 생성
다음은 문자열의 MD5 해시를 구하는 기본 예제입니다.
<?php $s = "Welcome!"; echo md5($s); ?>
출력 결과
9a843f20677a52ca79af903123147af0
예제 2: 해시 값 비교하기
생성된 해시 값을 특정 값과 비교하여 일치 여부를 확인할 수도 있습니다.
<?php
$s = "Welcome";
echo md5($s);
if (md5($s) == "83218ac34c1834c26781fe4bde918ee4") {
echo "\nWelcome";
exit;
}
?>출력 결과
83218ac34c1834c26781fe4bde918ee4 Welcome
참고 사항
MD5는 빠른 처리 속도가 장점이지만, 현재는 충돌(collision) 취약점이 발견된 오래된 알고리즘입니다. 따라서 비밀번호 저장과 같은 보안이 중요한 용도로는 password_hash() 함수나 bcrypt, Argon2 같은 안전한 해싱 방식을 사용하는 것이 권장됩니다. md5()는 파일 무결성 검사나 체크섬 생성 등 보안 민감도가 낮은 용도에 적합합니다.