Study/Data Structure

해시에 대한 마지막 글이다. 1편과 2편을 먼저 보고 읽으면 더욱 좋다. 해시 - 보안 해시는 아래 이유들로 보안 분야에서도 널리 사용된다. 해시 함수가 원래의 문장을 복호화할 수 없게 뭉개버린다. 원문과 해시값 사이에 선형적 관계가 없다. 해시 함수의 결과물은 고정된 길이의 숫자이므로, 원래의 정보는 손실된다. 하나의 원 데이터는 하나의 해시 값만 가지지만, 하나의 해시 값을 만들어낼 수 있는 원본 데이터는 매우 많다. 4번의 이유 때문에 해시 값만 가지고는 이미 뭉개진 원문을 복원해내는 것은 불가능하다. 위와 같은 이유들로, 비밀번호, 전자서명, 전자투표, 전자상거래와 같은 민감한 입력의 무결성을 검증할 때 사용된다. 따라서, 어떤 해시 함수에서 해시 충돌이 일어나기 쉽다는 것은 데이터의 무결성과 직..
- 2021.03.16(화) 추가 faculty.cs.niu.edu/~freedman/340/340notes/340hash.htm Hashing Hashing Hashing can be used to build, search, or delete from a table. The basic idea behind hashing is to take a field in a record, known as the key, and convert it through some fixed process to a numeric value, known as the hash key, which represents the faculty.cs.niu.edu 위 사이트에는 아래 글에서 소개할 두 가지 간단한 충돌 처리 방식 외에 두 ..
얼마 전 있었던 백엔드 직무 면접에서 기초 질문을 받았는데 대답을 잘 못했다. 생각해보면 해시에 대해 자세히 공부해 본 적이 없던 것 같다. 이번 기회에 나무위키와 위키백과의 글을 참고로 공부하여 작성하였다. 해시 - 정의 위키백과에서는 "해시 함수에 의해 얻어지는 값"을 해시(해시 값, 해시 코드, 해시 섬, 체크섬)라고 정의하고 있다. 해시 함수 - 정의 그렇다면 해시 함수(Hash Function)란? 임의의 길이를 갖는 임의의 데이터를 고정된 길이의 데이터(해시 값)로 매핑하는 함수를 말한다. 아래 그림으로 한눈에 이해 가능할 듯싶다. 해시 함수 - 특성 해시 함수는 보통 그리 복잡하지 않은 알고리즘으로 구현된다. 따라서 상대적으로 CPU, 메모리 등의 시스템 자원을 덜 소모하는 특성이 있다. 그..
대흉근
'Study/Data Structure' 카테고리의 글 목록