평문 : 암호화가 되지 않은 문자열 (ex : pass01)
암호화 : 평문을 암호화로 만듦 (ex : pass01 -> 23uk!*#&ha&*OREy23)
-- 해시 알고리즘 사용하여 암호화 진행
-- 데이터를 고정된 길이의 해시값(고유한 문자열)으로 변환하는 알고리즘
종류
1) SHA256, SHA512
문제점 : 같은 비밀번호를 암호화 진행시, 같은 해시값으로 저장됨
== 해킹의 문제 발생
2) bycrypt
해시 과정에서 소금(salt)을 치는 과정 거침
= 같은 비밀번호라도 매번 해시값이 다르게 생성되도록 함
**BcryptPasswordEncoder
: Spring Security에서 비밀번호를 안전하게 암호화하는데 사용하는 클래스
<SHA256, SHA512 방식> A회원 : abc123 -> qwe123 B회원 : abc123 -> qwe123 <bycrypt 방식> A회원 : abc123 -> 18924uj@# B회원 : abc123 -> re7sU@*^R
캐시(Cache)
: 자주쓰는 데이터를 임시로 저장해두는 공간
-> 자주 방문하는 사이트의 이미지, CSS, JS 파일 등을 캐시에 저장
-> 다시 방문할 때 서버에서 새로 받지 않고 캐시에 저장된 파일을 불러와 재사용
-> 웹 사이트 로딩 속도 빠르게 하기 위해 사용
쿠키(Cookie)
: 웹 사이트가 사용자의 브라우저에 저장하는 작은 데이터 조각
-> 로그인한 정보 유지, 사용자 설정 저장, 방문 기록 등을 관리하기 위해 사용
-> 내가 사용했던 이메일/아이디 저장, 장바구니 정보가 쿠키를 통해 저장
세션(Session)
: 서버가 클라이언트별로 상태를 유지하기 위해 서버에 저장하는 데이터
-> 로그인 정보를 안전하게 서버에서 관리해서, 브라우저를 닫아도 세션이 유지됨
-> 채팅구현 시 세션별로 관리하여 구현됨(웹 소켓)
| 항목 | 조작 | |
|---|---|---|
| 클라이언트 | 서버 | |
| Cache | O | O |
| Cookie | O | O |
| Session | X | O |