728x90
암호화와 해시화의 차이/특성 비교
암호화와 해시화는 통신의 안전성을 높이기 위해 사용된다는 점은 같지만 차이점과 각각의 특징이 존재한다.
💡 암호화
- 복호화 할 수 있다(= 원래대로 되돌릴 수 있다, 가역성 : 원래대로 되돌리는 것을 가역이라고 한다.)
- 암호화에는 공통키 암호화와 공개키 암호화 방식이 있다.
1️⃣ 공통키(비밀키) 암호화 : 패스워드(공통키)를 걸어 암호화
2️⃣ 공개키 암호화 : 긱각 다른 암호화 키를 준비하여 암호화하는 쪽의 키를 공개하는 방식
💡 해시화
- 복호화할 수 없다.(=원래대로 되돌릴 수 없다, 불가역성: 되돌릴 수 없는 것을 불가역이라고 한다.)
- 그래서 비밀번호과 같이 해독되면 안되는 데이터는 엄호화가 아닌 해시화하여 보호가 필요하다.
- 해시화되기 전 원래 상태를 유추할 수 없다. 다만 원래 데이터가 같다면 해시값도 동일한 값이 된다.
- 해시화 방식에 따라 충돌(원래 데이터는 다르지만 동일한 해시가 되는 것)의 가능성이 있을 수 있다. (충돌 가능성이 0%가 아님)
- 해시화 방식에는 SHA256, SH512, MD5, SHA1 등이 있다.
- 해시는 복호화될 우려는 없지만, 문자열의 변화일 뿐이기에, 짧은 문자열의 경우 해시화 방식이 알려지면 해독될 가능성이 있다. 이를 피하기 위해 salt를 넣어 진행할 수 있다. (솔트는 변환시 추가되는 임의의 데이터를 말한다.)
728x90
'👩💻TIL > 기술면접' 카테고리의 다른 글
[소프트웨어 설계] 디자인 패턴(Design Pattern)의 개념과 종류 (0) | 2022.09.01 |
---|---|
[운영체제]페이지 교체 알고리즘(Page Replacement Algorithm) (0) | 2022.09.01 |
정적타입 언어 vs. 동적타입 언어 특징 비교하기 (0) | 2020.09.10 |
[소프트웨어공학] 모듈, 결합도와 응집도- 좋은 소프트웨어 설계의 시작 (0) | 2020.06.19 |
[DevOps]CI/CD (지속적 통합/지속적 제공) 개념과 과정/ 툴 별 장단점 비교 (2) | 2020.05.15 |
댓글