IT
암호화(Encryption) vs 해시화(Hashing): 차이점과 사용 예시
hoonylab
2025. 4. 8. 17:59
728x90
반응형
데이터 보안이 중요한 요즘, 암호화와 해시화는 자주 언급되는 개념입니다. 하지만 이 둘은 비슷해 보이지만 전혀 다른 목적으로 사용됩니다. 이번 글에서는 이 둘의 차이점과 어떤 상황에 각각을 써야 하는지 예제를 통해 알아보겠습니다.
🔐 암호화 (Encryption)란?
암호화는 원본 데이터를 특정 알고리즘을 이용해 다른 형태로 변환하는 과정입니다. 변환된 데이터는 복호화 키가 있어야만 다시 원래대로 되돌릴 수 있습니다.

▲ 대칭키 방식의 암호화 예시 (출처: Wikipedia)
- 대표 알고리즘: AES, DES, RSA
- 사용 목적: 정보 보호 및 안전한 전송
- 복호화 가능
🧩 해시화 (Hashing)란?
해시화는 임의의 길이를 가진 데이터를 고정된 길이의 값으로 변환하는 과정입니다. 이 과정은 단방향으로, 원래 데이터로 복원할 수 없습니다.

▲ 해시 함수 개념도 (출처: Wikipedia)
- 대표 알고리즘: SHA-256, SHA-512, MD5 (※ MD5는 보안 취약)
- 사용 목적: 데이터 무결성 확인, 비밀번호 저장
- 복호화 불가능
📊 암호화 vs 해시화 비교표
구분 | 암호화 (Encryption) | 해시화 (Hashing) |
---|---|---|
방향성 | 양방향 (복호화 가능) | 단방향 (복호화 불가) |
용도 | 데이터 보호 및 전송 | 데이터 무결성, 인증 |
알고리즘 예시 | AES, RSA | SHA-256, MD5 |
출력 길이 | 입력 데이터에 따라 달라짐 | 항상 고정 길이 |
보안성 | 키 관리에 따라 달라짐 | 충돌 발생 가능성 존재 |
🧪 언제 어떤 방식을 써야 할까? - 사용 예시
1. 사용자의 비밀번호 저장
→ 해시화 사용
사용자의 비밀번호는 복호화가 불가능해야 하므로 해시 함수를 사용하여 데이터베이스에 저장합니다. 예: SHA-256(password)
2. 민감한 사용자 정보 전송 (예: 주민등록번호)
→ 암호화 사용
제3자가 중간에 정보를 가로채더라도 내용을 알 수 없도록 암호화된 상태로 전송하며, 수신자만 복호화할 수 있도록 합니다.
3. 파일이 변경되었는지 확인
→ 해시화 사용
파일의 해시값을 저장해두고, 이후 동일한 해시값이 생성되는지 확인하여 변조 여부를 판단합니다.
✅ 정리
암호화와 해시화는 모두 보안을 위한 기술이지만, 사용하는 목적과 방식은 완전히 다릅니다.
데이터의 비밀 유지가 중요하다면 암호화, 위조 방지나 무결성이 중요하다면 해시화를 선택하세요.
이 포스팅이 도움이 되셨다면 댓글이나 공감 부탁드려요 😊
728x90
반응형