Hash란?
해시 (Hash)**란
임의의 크기를 가진 데이터를 고정된 데이터의 크기로 변환시키는 것을 말한다.
이를 이용하면 데이터를 보다 더 쉽게 다루며 검색과 저장이 아주 빠르게 진행된다.
이 과정에서 원본 데이터를 키 (Key)로 사용하며,
매핑하는 과정을 **해싱 (Hashing)**이라고 합니다.
즉, 키-값 한쌍으로 저장하는 과정을 말하는 것 같은데
키 : 검색할 때 사용할 키
값 : 실제 데이터의 값
결과물로 나온 데이터를 **해시값 (Hash value)**이라고 합니다
-hash 코드는 10, 16진수로 이용하여 어떠한 데이터를 표현하는 방법인 듯하다.
그래서 이걸로 진짜인지 인증하는 듯 하다.
이렇게 되면 암호화되어 보안이 좋아지는 듯하다.

자료저장 구조
set : 중복x, 순서x_ ex) 네발기기 동물
list : 중복o, 순서o _ 음식점 대기 list
⇒collection : set, list 공통점 모아 놓은 것
map : 키-값 있는 거 ⇒ so, 빠르게 can access
ex) 051-부산
🐣 여기서 잠깐!
해시 = 키-값? ⇒ no!
해시 =그냥 데이터의 고유성을 확인하는 용도의 개념으로 알고 있기
#hashset #hashmap
HashSet은 각 요소의 해시 코드를 계산하여 내부적인 버킷(bucket)에 저장합니다. 이때 중복된 요소가 발견되면 해당 요소를 저장하지 않습니다. 따라서 HashSet에는 동일한 요소가 중복되어 저장되지 않습니다. HashSet은 순서를 보장하지 않기 때문에 요소의 순서가 중요하지 않은 경우에 사용됩니다. 반면에, HashMap은 키-값 쌍을 저장하고 검색하는 자료구조입니다. HashMap은 키(key)와 값(value)을 연결하여 저장하며, 각 요소는 고유한 키를 가지고 있습니다. HashMap은 특정 키를 기반으로 값을 검색하거나, 매핑된 키-값 데이터를 저장하고 관리하는 데 사용됩니다. 요약하면, HashSet은 키-값 형태로 저장되지 않으며, 값(value)이 아닌 키(key)만을 저장합니다. 반면에, HashMap은 키-값 쌍을 저장하고 관리하는 자료구조입니다.
해시(hash)는 무조건 키-값 형태로 저장되는 것은 아닙니다. 해시는 단방향 해시 함수를 통해 생성된 고정된 길이의 코드입니다. 해시 함수는 임의의 크기의 데이터를 입력으로 받아서 고정된 길이의 해시 코드를 출력 하는 함수입니다. 해시 함수는 입력 데이터의 내용에 따라 고유한 해시 코드를 생성합니다. 그러나 해시 코드 자체는 키-값 쌍을 나타내는 것이 아니라, 데이터의 무결성을 확인하거나 데이터의 고유성을 식별하는 용도로 사용됩니다. 해시를 키-값 형태로 저장하는 경우에는 일반적으로 해시를 키(key)로 사용하고, 해당 키에 대응하는 값을 값(value)으로 저장합니다. 이때 해시를 사용하여 값을 빠르게 검색하거나 저장하는 것이 가능해집니다. 예를 들어, HashMap은 해시 함수를 사용하여 키(key)의 해시 코드를 계산하고, 이를 기반으로 데이터를 저장하고 검색합니다. 하지만 해시는 키-값 형태로 저장되지 않을 수도 있습니다. 예를 들어, 해시 테이블(hash table)은 해시 코드를 사용하여 데이터를 저장하고 검색하는 자료구조로, 키-값 쌍을 저장하는 것이 일반적입니다. 그러나 해시 함수의 출력인 해시 코드를 키(key)로 사용하지 않고, 다른 방식으로 데이터를 저장하는 경우에도 해시가 사용될 수 있습니다. 요약하면, 해시는 단방향 해시 함수에 의해 생성된 고정된 길이의 코드로, 무조건 키-값 쌍을 나타내는 것은 아닙니다. 해시를 키-값 형태로 저장하는 경우에는 일반적으로 해시를 키(key)로 사용하고, 해당 키에 대응하는 값을 값(value)으로 저장합니다.
Share article