Hash / Salt

moontag·2022년 7월 14일
0

네트워크

목록 보기
14/18

Hash

문자열 => 임의의 연산 => 다른문자열로 변환하는 것

  • 모든 값에 대해 해시 값 계산하는데 오래걸리지 않아야 함

  • 중복되지 않는 고유한 해시 값을 가져야 함

  • 아주 작은 단위 변경이어도 완전히 다른 해시 값 가져야 함

  • 대표적 Hash 알고리즘
    : SHA1, SHA256 등





Salt

'별도의 소금' 추가해서 결과를 변형하는 것

  • 암호화만 해놓으면 해시된 결과가 늘 동일

    rainbow table
    : 해시 값 - 원본 값을 테이블로 만들어서 디코딩하는 문제가 있음

  • 기존 해시값과 전혀 다른 해시값이 반환되어 알고리즘 노출되도 원본값 보호하는 안전장치

  • 기존 : 암호화하려는 값 => hash 값
    Salt : 암호화하려는 값 + Salt 값 => hash 값

주의점

  • 유저와 패스워드 별로 유일한 값을 생성해야 함
  • 사용자 계정 생성, 비밀번호 변경 시마다 새로운 임의의 salt 사용해서 hashing해야 함
  • 절대 재사용 금지
  • DB와 유저 테이블에 저장되어야 함
profile
터벅터벅 나의 개발 일상

0개의 댓글