MD5 문자열 해시 함수
개요
MD5(메시지 다이제스트 알고리즘 5)는 128비트 해시 값을 가지는 널리 사용되는 암호화 해시 함수입니다. 다양한 보안 애플리케이션에서 사용되며, 파일과 문자열의 무결성을 확인하는 데 일반적으로 사용됩니다. 이 함수는 입력된 유니코드 문자열을 받아 32자리의 16진수 MD5 해시를 반환합니다. 이를 통해 안전한 키를 생성할 수 있으며, 외부 서버와의 정보 전송 시 무결성을 확인하는 데 사용됩니다.
MD5 인코딩 형식
MD5 인코딩에는 두 가지 형식이 있습니다: UTF-8과 유니코드. 두 형식 모두 서로 다른 서버 설정과의 통신을 용이하게 하기 위해 제공되지만, 가장 일반적으로 사용되는 형식은 유니코드입니다.
주의: MD5는 완전히 안전하지 않으며, 취약점이 존재할 수 있습니다. 추가 정보는 관련 페이지를 참조하세요.
문법
md5_string_unicode(string)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
string | 문자열 | 해시할 문자열 |
반환값
- MD5 해시 문자열 (32자리 16진수)
예제
다음은 MD5 해시를 생성하는 예제 코드입니다.
var hash, str;
str = base64_encode(game_data);
hash = md5_string_unicode(str);
http_get("http://www.MacSweeneyGames.com/CatchTheHaggis/gamedata?hash=" + hash);
http_get("http://www.MacSweeneyGames.com/CatchTheHaggis/gamedata?data=" + str);
위 코드는 문자열을 Base64로 인코딩한 후, MD5 해시를 생성합니다. 마지막으로 해시와 인코딩된 문자열을 서버에 전송합니다.
활용 예제
- 파일 무결성 검사
gml var file_hash, file_content; file_content = file_text_read("example.txt"); file_hash = md5_string_unicode(file_content);
- 사용자 인증
gml var password_hash; password_hash = md5_string_unicode(user_input_password);
- 데이터 전송 시 무결성 확인
gml var data_hash, data_to_send; data_to_send = "important data"; data_hash = md5_string_unicode(data_to_send); http_get("http://example.com/api?data=" + data_to_send + "&hash=" + data_hash);
- API 요청 시 데이터 보호
gml var api_key, api_hash; api_key = "my_secret_key"; api_hash = md5_string_unicode(api_key); http_get("http://api.example.com/request?key=" + api_key + "&hash=" + api_hash);
- 로그인 시스템에서 비밀번호 저장
gml var user_password, password_hash; user_password = "user_password"; password_hash = md5_string_unicode(user_password);
이와 같은 방식으로 MD5 해시 함수를 활용하여 다양한 보안 관련 작업을 수행할 수 있습니다.