암호화?
영어로는 Encryption. 정보를 특정 알고리즘을 이용해 암호화된 형태로 변형하는 걸 말한다. 암호문을 평문(원래 정보)로 바꾸는 것은 복호화(Decryption)이라고 부른다. 개발에서의 함호화는 보안이 필요한 정보를 특정 알고리즘을 통해 의미없는 문자열(이진수 덩어리 등)으로 바꾸는 걸 말한다.
암호화의 종류
단방향 암호화
원래대로 돌이킬 수 없는 암호화, 즉 복호화가 불가능한 암호화를 말한다(정확한 표현은 '복호화가 거의 불가능한'이 맞을 듯). 대표적으로 Hash가 있으며, 암호화된 값으로부터 다시 돌아갈 수 없기 때문에 단방향이라고 표현한다. 주로 무결성 확인 등에 사용한다. (원본을 Hash멕인 것과 원본을 조작한 후 Hash멕인 결과값이 서로 다르면 뭔가 조작됐음을 유추할 수 있고.. 머 그런)
양방향 암호화
원래대로 돌이킬 수 있는 암호화, 즉 복호화가 가능한 암호화를 말한다. 대표적으로 대칭키 암호화 방식, 공개키 암호화 방식이 있다. 대칭키 방식의 경우 암/복호화 시 사용되는 키가 동일한 방식이고, 공개키 방식은 개인키는 각 사용자가 가지고 공개키는 모든 사람이 접근하게끔 한 방식이다(A의 공개키를 사용해 암호화한 문서는 A의 개인키로만 복호화할 수 있는..뭐 그런).
'WEB > 그 외 필요한 지식' 카테고리의 다른 글
의존성 주입(Dependency Injection) 고찰(feat.DIP) (1) | 2023.02.06 |
---|---|
서블릿(Servlet)은 뭐하는 놈일까 (feat. Spring Web MVC, Front Controller Pattern) (2) | 2023.02.04 |
세션 인증 방식 vs 토큰 인증 방식 (2) | 2023.01.24 |
HTTP 상태 코드 (0) | 2022.07.12 |
HTTP의 특징(stateless 등..) (0) | 2022.07.06 |