둘러보기 메뉴
검색
바뀐글
임의글
개인 도구
가입하기
로그인
도움말
도움말
질문게시판
자주 묻는 질문
커뮤니티
실시간 채팅방
가입인사게시판
자유게시판
뉴스게시판
제재안게시판
최근 토론
페미위키
공지사항
개선 요청
바뀐글
임의글
파일 올리기
다면 분류 목록
특수 문서 목록
해쉬(알고리즘) 문서 원본 보기
이름공간
문서
토론
주시
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
위키베이스 항목
행위
보기
읽기
원본 보기
역사 보기
←
해쉬(알고리즘)
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요.
요청한 명령은 다음 중 하나의 권한을 가진 사용자에게 제한됩니다:
사용자
,
Seeders
.
문서를 고치려면 이메일 인증 절차가 필요합니다.
사용자 환경 설정
에서 이메일 주소를 입력하고 이메일 주소 인증을 해주시기 바랍니다.
문서의 원본을 보거나 복사할 수 있습니다.
== 개요 == 해쉬({{Llang|en|Hash}}) 알고리즘 또는 해쉬 함수는 어떤 데이터를 숫자로 나열하는 방법이다. 해쉬 알고리즘을 통해 나온 숫자를 해쉬 값, 해쉬 코드, 해쉬 체크섬 등으로 말한다. 해쉬 값은 보통 그 값이 8바이트 내로 표현하기에는 매우 크기 때문에 10진수 보다는 16진수로 표현하는 것이 일반적이다. 다만 해쉬 테이블에 사용하기 위한 해쉬 값의 크기는 보통 4바이트, 많으면 8바이트로 표현할 수 있을 만큼 작기 때문에 10진수로 표현하기도 한다. == 용도 == === 해쉬 테이블 === 컴퓨터 프로그래밍에서 데이터 컨테이너 객체에서 데이터에의 접근에 해쉬 값을 이용하는 것을 해쉬 테이블({{Llang|en|Hash Table}}), 맵({{Llang|en|Map}}), 딕셔너리({{Llang|en|Dictionary}}) 등으로 부르는데, 이 해쉬 값을 만들 때 해쉬 알고리즘이 사용된다. === 단방향 암호화 === 암호화를 위한 해쉬 값은 역함수가 존재하지 않도록 만들어진다. 이 말은 해쉬 값을 통해 원래의 데이터를 알아내는 것이 불가능하다는 것을 말하며, 이는 단방향 암호화에 사용된다. [[패스워드]] 등의 원본 데이터를 몰라도 무관한 암호화에 해쉬 알고리즘이 사용된다. 다만 역함수가 없다 뿐이지, 어떤 데이터에 따른 어떤 해쉬 값을 매핑하여 정리한 [[레인보우 테이블]]이라는 것이 존재한다. 단방향 암호화에 많이 사용되는 해쉬 알고리즘은 다음과 같은 것들이 있다. * [[MD5]] * [[SHA-1]] * [[SHA-2]] === 데이터 무결성 검증 === 데이터의 크기는 무한정하지만 해시 값의 크기는 그에 비해 매우 짧을 수 있다. 특히나 해쉬 값은 숫자이므로 해쉬 값 저장에도 많은 바이트가 들어가지 않는다. 이를 응용해 데이터에 대한 해쉬 값을 만들어 다른 곳에서 사용될 때 무결성 검증에 사용할 수 있다. 무결성 검증에 많이 사용되는 해쉬 알고리즘은 다음과 같은 것들이 있다. * [[CRC32]] * [[MD5]] [[분류:종류/알고리즘]]
이 문서에서 사용한 틀:
틀:Lang
(
원본 보기
)
틀:Llang
(
원본 보기
)
틀:Llang/언어 고리
(
원본 보기
)
틀:언어 이름
(
원본 보기
)
해쉬(알고리즘)
문서로 돌아갑니다.
다른 언어