Hash 함수
다양한 길이의 Input을 받아서 정해진 길이의 Output을 출력하는 함수
이러한 Hash 함수의 가장 큰 용도는 "데이터의 변조 유무 확인(정보의 무결성)"
Hash 함수의 특징
Output을 이용하여 input을 추정하는것이 매우 어려움 (단방향성)
입력이 다르다면 서로 다른 해시 결과 값이 나와야 한다. (충돌회피)
Hash 함수를 사용하기 위해선 빠르게 연산이 가능해야한다 (효율적 연산 가능)
Hash의 종류
다양한 Hash 함수들이 존재합니다.
MD5
SHA-1
SHA-2(SHA256, SHA384, SHA512)
SHA3(SHA3-256, SHA3-384, SHA3-512 등등)
SHA256이란 ?
SHA 알고리즘의 한 종류로 256bit로 구성되며 64자리 문자열을 반환
해시 충돌로부터 비교적 안전
일반적으로 입력값이 조금만 변동하여도 출력갑싱 완전히 달라지기 때문에 출력값을 토대로 입력값을
유추하는 것은 거의 불가능, 아주 작은 확률로 입력값이 다름에도 불구하고 출력값이 같은 경우가 발생하는데 이것을
'충돌'이라고 한다. 충돌의 발생 확률이 낮을수록 좋은 함수라고 평가됨
Python에서 SHA256 암호화
import hashlib
라이브러리를 불러온 후 원하는 문자열을 아래와 같이 암호화한다.
str1 = "이름"
sty2 = "생년00월00일"
result = hashlib.sha256(str1.encode())
print(str,"->SHA256 으로 : ")
printt(result.hexdigest())
result = hashlib.sha256(str2.encode())
print(str2, "->SHA256 으로 : ")
print(result,hexdigest())
'개발' 카테고리의 다른 글
API란 ? (0) | 2022.11.21 |
---|---|
JWT토큰 이란 ? (0) | 2022.11.20 |
원형 이미지 css html (0) | 2022.11.02 |
getElementById 사용 (0) | 2022.10.21 |
오류 - Uncaught SyntaxError: Unexpected token '{' (0) | 2022.10.13 |
댓글