20241106 - 암호화&캐시/쿠키/세션

Dodo Lee·2024년 11월 6일

[ 암호화 ]

  • 평문 : 암호화가 되지 않은 문자열 (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
profile
연습생

0개의 댓글