보안 관련 용어 중에 SHA와 AES를 많이 들어봤을 거야. 둘 다 암호화 기술과 관련이 있지만, 완전히 다른 목적을 가지고 있어! 이 글에서는 SHA와 AES의 차이점을 한눈에 쉽게 정리해볼게.

✅ 핵심 요약 (TL;DR)
1️⃣ SHA (Secure Hash Algorithm) → 데이터 무결성 확인
2️⃣ AES (Advanced Encryption Standard) → 데이터 암호화
3️⃣ SHA는 일방향 해시, AES는 양방향 복호화 가능!
🔹 SHA (Secure Hash Algorithm) – 데이터의 지문을 만든다!
SHA는 데이터를 암호화하는 게 아니라, 데이터를 “요약”하는 알고리즘이야.
SHA는 해시 함수를 이용해서 **고유한 지문(해시값)**을 생성해.
즉, 입력값이 같으면 언제나 동일한 해시값이 나오고, 다른 입력이면 완전히 다른 값이 나와.
🔑 SHA의 특징
✔ 일방향 함수: 해시값만 보고는 원래 데이터를 복원할 수 없어.
✔ 무결성 체크: 파일이 변조되었는지 확인할 때 유용해.
✔ 비밀번호 저장: 웹사이트 로그인 시스템에서 비밀번호를 저장할 때 사용돼.
📌 SHA 예제
- “hello” → SHA-256 →
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
- “hello!” → SHA-256 →
b94d27b9934d3e08a52e52d7da7dabfa
(한 글자만 바꿔도 완전히 다른 해시값이 나와!)
🔹 AES (Advanced Encryption Standard) – 데이터를 숨긴다!
AES는 데이터를 암호화해서 “숨기는” 알고리즘이야.
AES는 특정한 **비밀번호(키)**를 사용해서 데이터를 암호화하고,
같은 키를 사용해야만 원래 데이터로 복호화할 수 있어.
🔑 AES의 특징
✔ 양방향 암호화: 암호화된 데이터를 원래 상태로 되돌릴 수 있어.
✔ 비밀번호(키) 기반: 데이터를 해독하려면 같은 키가 필요해.
✔ 파일 & 메시지 암호화: 금융 거래, 이메일 보안, 비밀 대화에 사용됨.
📌 AES 예제
- 원본 데이터:
"hello"
- AES-256 + 키 “1234”로 암호화 →
"ajd9!@#3klf"
- AES-256 + 키 “1234”로 복호화 →
"hello"
(비밀번호를 모르면 절대 해독할 수 없어! 🔐)
📊 SHA vs AES 차이점 비교표
알고리즘 | SHA | AES |
---|---|---|
목적 | 데이터 무결성 확인 | 데이터 암호화 |
출력 형태 | 고정된 길이의 해시값 | 암호화된 데이터 |
복원 가능 여부 | ❌ (일방향) | ✅ (키 있으면 복호화 가능) |
사용 예시 | 비밀번호 저장, 파일 무결성 체크 | 메시지 암호화, 파일 보호 |
✅ SHA는 “지문”, AES는 “비밀 편지”라고 생각하면 돼!
🔹 SHA-128, SHA-256, SHA-512 차이점
SHA 뒤에 붙는 숫자는 해시값의 길이를 의미해!
- SHA-128 → 128비트(16바이트) 해시값
- SHA-256 → 256비트(32바이트) 해시값
- SHA-512 → 512비트(64바이트) 해시값
📌 SHA 숫자가 클수록 보안이 강하지만, 연산 속도는 느려질 수도 있음.
🔹 AES-128, AES-256 차이점
AES 뒤에 붙는 숫자는 암호화 키의 길이를 의미해!
- AES-128 → 128비트 키 사용
- AES-256 → 256비트 키 사용
📌 키 길이가 길수록 더 강력한 보안이 가능하지만, 연산 비용이 증가해!
그래서 보안이 중요한 금융/군사 시스템에서는 AES-256을 선호해.
❓ 자주 묻는 질문 (FAQ)
Q1. SHA와 AES 중 어떤 걸 써야 할까?
👉 비밀번호 저장, 데이터 무결성 확인이 필요하면 SHA를 사용해!
👉 데이터 암호화 & 복호화가 필요하면 AES를 사용해야 해!
Q2. SHA 해시값을 복호화할 수 있을까?
👉 아니! SHA는 일방향 해시 함수라서 복호화할 수 없어.
👉 하지만 **무차별 대입 공격(Brute Force)**을 통해 해킹 시도가 가능할 수도 있어.
Q3. AES-128 vs AES-256, 어느 게 더 좋을까?
👉 AES-256이 더 안전하지만, 연산 속도가 느려질 수도 있어.
👉 AES-128도 충분히 강력하므로, 상황에 맞게 선택하면 돼!
🎯 결론: SHA vs AES, 이렇게 정리하자!
알고리즘 | 목적 | 특징 |
---|---|---|
SHA | 데이터 무결성 확인 | 일방향, 해시값 생성 |
AES | 데이터 암호화 | 양방향, 복호화 가능 |
✅ SHA는 “데이터의 지문”, AES는 “비밀 편지”라고 이해하면 끝!
✅ 보안성이 중요한 경우 AES-256을 추천!
✅ 비밀번호 저장은 반드시 SHA + 솔트(Salt) 조합 사용!