buffer_sha1 함수 설명
buffer_sha1
함수는 버퍼에서 입력 데이터를 받아 160비트 메시지 다이제스트를 ASCII 형식으로 반환합니다. 이를 통해 안전한 키를 생성할 수 있으며, 이 키는 외부 서버와 주고받는 정보의 무결성을 확인하는 데 사용될 수 있습니다. 예를 들어, 이 키는 서버와의 통신에서 데이터가 변조되지 않았는지 확인하는 데 유용합니다.
SHA-1은 미국 국가안보국(National Security Agency)에서 설계한 암호학적 해싱 함수로, Git과 같은 여러 널리 사용되는 애플리케이션과 프로토콜에서 파일 변경 여부를 확인하는 데 사용됩니다. 이 함수를 버퍼에 적용할 때는 사용할 버퍼를 지정하고, 시작할 오프셋 값(바이트 단위)과 해시할 영역의 크기(바이트 단위)를 지정해야 합니다.
SHA-1은 완전히 안전하지 않으며, 공격에 의해 깨질 수 있습니다. 더 많은 정보는 관련 페이지를 참조하세요.
문법
buffer_sha1(buffer, offset, size);
인수 설명
인수 | 타입 | 설명 |
---|---|---|
buffer | Buffer | 사용할 버퍼 |
offset | Real | 데이터 오프셋 값 |
size | Real | 버퍼의 크기 |
반환값
- String: 해시된 문자열
예제
check_string = buffer_sha1(buff, 0, buffer_get_size(buff));
위 코드는 변수 buff
에 저장된 전체 데이터에 대해 SHA-1 해시를 생성하고, 반환된 해시를 변수 check_string
에 저장합니다.
활용 예제
- 파일 무결성 검사
gml var file_buffer = buffer_load("example.txt"); var file_hash = buffer_sha1(file_buffer, 0, buffer_get_size(file_buffer));
- 서버와의 데이터 전송 시 해시 생성
gml var data_buffer = buffer_create(1024, buffer_grow, 1); buffer_write(data_buffer, buffer_u8, 123); var data_hash = buffer_sha1(data_buffer, 0, buffer_get_size(data_buffer));
- 사용자 인증을 위한 해시 저장
gml var password_buffer = buffer_create(256, buffer_grow, 1); buffer_write(password_buffer, buffer_string, "my_secure_password"); var password_hash = buffer_sha1(password_buffer, 0, buffer_get_size(password_buffer));
- API 응답 검증
gml var api_response_buffer = buffer_load("response.json"); var response_hash = buffer_sha1(api_response_buffer, 0, buffer_get_size(api_response_buffer));
- 게임 데이터 저장 시 해시 생성
gml var game_data_buffer = buffer_create(512, buffer_grow, 1); buffer_write(game_data_buffer, buffer_string, "player_data"); var game_data_hash = buffer_sha1(game_data_buffer, 0, buffer_get_size(game_data_buffer));