SHA-1 해시 함수 설명
SHA-1은 미국 국가안보국(National Security Agency)에서 설계한 암호학적 해시 함수입니다. 이 함수는 여러 널리 사용되는 애플리케이션과 프로토콜에서 사용되며, 특히 Git과 같은 버전 관리 시스템에서 파일 변경 여부를 확인하는 데 사용됩니다.
SHA-1의 작동 방식
SHA-1 함수는 입력으로 유니코드 문자열을 받아 160비트 메시지 다이제스트를 ASCII 형식으로 반환합니다. 예를 들어:
- 입력 문자열: "The quick brown fox jumps over the lazy dog"
- 출력 해시: "2fd4e1c6 7a2d28fc ed849ee1 bb76e739 1b93eb12"
이렇게 생성된 해시는 외부 서버와의 정보 전송 시 무결성을 확인하는 데 사용될 수 있습니다.
주의 사항
- SHA-1 인코딩에는 두 가지 형식이 있습니다: UTF-8과 유니코드. 다양한 서버 설정과의 통신을 용이하게 하기 위해 두 가지 형식이 제공되지만, 가장 일반적으로 사용되는 것은 유니코드입니다.
- SHA-1은 완전히 안전하지 않으며, 공격에 의해 깨질 수 있습니다. 더 많은 정보는 관련 페이지를 참조하세요.
구문
sha1_string_unicode(string)
매개변수 설명
매개변수 | 타입 | 설명 |
---|---|---|
string | 문자열 | 해시할 문자열 |
반환값
- 해시된 문자열을 반환합니다.
활용 예제
다음은 SHA-1 해시 함수를 사용하는 몇 가지 예제입니다.
예제 1: 문자열 해시 생성
var hash, str;
str = "Hello, World!";
hash = sha1_string_unicode(str);
show_message(hash); // 해시 결과를 메시지로 표시
예제 2: 파일 데이터 해시 생성
var hash, file_data;
file_data = file_text_read("example.txt");
hash = sha1_string_unicode(file_data);
show_message(hash); // 파일 데이터의 해시 결과 표시
예제 3: 서버에 해시 전송
var hash, str;
str = base64_encode(game_data);
hash = sha1_string_unicode(str);
http_get("http://example.com/data?hash=" + hash);
http_get("http://example.com/data?data=" + str);
이 코드는 문자열을 base64로 인코딩한 후 SHA-1 해시를 생성하고, 해시와 인코딩된 문자열을 서버에 전송합니다.