인코딩 및 해싱
외부 파일을 다룰 때, 최종 사용자가 파일의 정보를 열어보고 변경할 가능성이 항상 존재합니다. 이로 인해 게임의 요소가 깨지거나 온라인에서 부정한 점수가 발생할 수 있습니다. 이를 방지하기 위해 GameMaker는 기본적인 인코딩 함수와 문자열 및 파일의 무결성을 확인하기 위한 해싱 체크 함수를 제공합니다. 또한 JSON 형식의 문자열을 인코딩 및 디코딩하는 함수와 ZIP 파일을 생성하는 함수도 제공됩니다.
인코딩과 해싱의 차이
인코딩은 암호화가 아닙니다! Base64 인코딩은 파일을 육안으로 읽을 수 없게 만들지만, 해킹으로부터 안전하지는 않습니다. 사용자가 디코딩하기 위해 노력해야 하며, 자신의 암호화 방법과 함께 사용하는 것이 좋습니다. 인터넷에는 GameMaker에서 사용할 수 있는 다양한 암호화 방법과 스크립트 함수가 있습니다.
함수 참조
| 카테고리 | 함수 | 
|---|---|
| JSON | json_stringify,json_parse,json_encode,json_decode | 
| Base64 | base64_encode,base64_decode | 
| 해싱 | md5_string_utf8,md5_string_unicode,md5_file,sha1_string_utf8,sha1_string_unicode,sha1_file | 
| CSV | load_csv | 
| ZIP 파일 | zip_unzip,zip_unzip_async,zip_create,zip_add_file,zip_save | 
| 인코딩 및 해싱 버퍼 | buffer_md5,buffer_sha1,buffer_crc32,buffer_base64_encode,buffer_base64_decode,buffer_base64_decode_ext | 
활용 예제
JSON 사용 예제
var jsonData = json_stringify(data);
var parsedData = json_parse(jsonData);
Base64 인코딩 및 디코딩 예제
var encoded = base64_encode("Hello World");
var decoded = base64_decode(encoded);
해싱 예제
var md5Hash = md5_string_utf8("Hello World");
var sha1Hash = sha1_string_utf8("Hello World");
CSV 파일 로드 예제
var csvData = load_csv("data.csv");
ZIP 파일 생성 및 추가 예제
zip_create("archive.zip");
zip_add_file("archive.zip", "file.txt");
zip_save("archive.zip");
버퍼 해싱 예제
var buffer = buffer_create(1024, buffer_grow, 1);
buffer_md5(buffer);
 
            