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
반응형