인프런 커뮤니티 질문&답변

Inpa Skyrim님의 프로필 이미지
Inpa Skyrim

작성한 질문수

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

deserializeUser 이해하기

bcrypt 질문입니다

작성

·

154

0

저번 해시 암호화 강의를 열심히 듣고 단방향 암호화와 쏠트 원리를 공부하고 실제로 crypto pbkdf2로 로그인 로직을 구현해보기도 하였습니다.

근데 bcrypt문법보니 현타오네요.
이렇게 간단하고 sha알고리즘 gpu문제도 해결하고요.

대신에 음청 느리다고 배웠습니다.

거두절미하고, 
pbkdf2를 쓸때는 db테이블에 쏠트라는 필드를 만들어 거기에 각 개인마다 할당되는 랜덤 쏠트값을 저장하여,
로그인 비교할때 꺼내서 비교하였습니다.

하지만 bcrypt는 그냥 compare()하고 끝이던데, 이놈 쏠트 원리는 어떻게 되는지 간단히 설명해 주실수 있나요? 

답변 1

0

Inpa Skyrim님의 프로필 이미지
Inpa Skyrim
질문자

https://codingdog.tistory.com/entry/bcrypt%EB%8A%94-salt%EA%B0%80-%EB%A7%A4%EB%B2%88-%EB%8B%AC%EB%9D%BC%EC%A7%80%EB%8A%94%EB%8D%B0-match%EB%A5%BC-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%9E%98-%EC%8B%9C%ED%82%AC%EA%B9%8C%EC%9A%94

자문자답 합니다.

bcrypt는 salt 값을 스스로 암호화 시킨 문자열에서 일부 가져와 쓴다고 하네요.

즉, crypto모듈은 개발자가 랜덤 쏠트값을 만들어서 돌린다면,
bcrypt는 지가 스스로 랜덤 쏠트값을 뽑아서 돌린다.

Inpa Skyrim님의 프로필 이미지
Inpa Skyrim

작성한 질문수

질문하기