MD5 해시 함수에 대한 설명
MD5 (Message-Digest algorithm 5)는 128비트 해시 값을 가지는 널리 사용되는 암호화 해시 함수입니다. 다양한 보안 애플리케이션에서 사용되며, 파일과 문자열의 무결성을 확인하는 데 자주 활용됩니다. 이 함수는 입력으로 UTF-8 문자열을 받아 해당 문자열에 고유한 32자리 16진수 MD5 해시를 반환합니다. 이를 통해 안전한 키를 생성하고 외부 서버와의 정보 전송 시 무결성을 확인하는 데 사용할 수 있습니다.
주요 사항
- MD5 인코딩 형식: UTF-8과 유니코드 두 가지 형식이 있으며, 일반적으로 유니코드가 가장 많이 사용됩니다.
- 보안성: MD5는 완전히 안전하지 않으며, 해킹될 수 있습니다. 추가 정보는 관련 페이지를 참조하세요.
문법
md5_string_utf8(string)
매개변수 설명
매개변수 | 유형 | 설명 |
---|---|---|
string | 문자열 | 해시할 문자열 |
반환값
- MD5 해시 문자열 (32자리 16진수)
예제
다음은 MD5 해시를 생성하고 ini 파일에 저장하는 코드 예제입니다.
var hash, str;
str = json_encode(hiscore_map);
hash = md5_string_utf8(str);
ini_open("local.ini");
ini_write_string("info", "0", hash);
ini_close();
get[0] = http_post_string("http://www.MacSweeneyGames.com/CatchTheHaggis?game_hiscores=" + string(global.game_id), str);
위의 코드는 DS 맵을 JSON 문자열로 인코딩한 후, MD5 해시를 생성하여 ini 파일에 저장합니다. 이렇게 저장된 해시는 나중에 서버로부터 동일한 정보를 수신할 때 JSON의 무결성을 확인하는 데 사용됩니다.
활용 예제
- 파일 무결성 검사
gml var file_hash, file_content; file_content = file_read_string("data.txt"); file_hash = md5_string_utf8(file_content);
- 사용자 인증
gml var password_hash; password_hash = md5_string_utf8(user_input_password);
- 데이터 전송 시 무결성 확인
gml var data_hash, data_to_send; data_to_send = json_encode(data_map); data_hash = md5_string_utf8(data_to_send);
- API 응답 검증
gml var api_response_hash; api_response_hash = md5_string_utf8(api_response);
- 로그 파일 해시 생성
gml var log_hash, log_content; log_content = file_read_string("log.txt"); log_hash = md5_string_utf8(log_content);
이와 같은 다양한 활용을 통해 MD5 해시 함수를 효과적으로 사용할 수 있습니다.