암호화(3)
-
argon2 vs bcrypt
언젠가 당연하게 bcrypt 를 이용해 비밀번호를 해싱했다.과연 bcrypt 가 최선이 맞을까? 암호화 암호화는 평문을 암호문으로 바꾸는 과정이다.암호화는 가장 기본적인 정보보안 방법으로 그 자체로 데이터의 유출 등을 막지는 못하지만 데이터에 담긴 정보를 알 수 없게 하는 것이 목적이다.bcrypt 가 무엇인가 단방향 암호화를 위해 만들어진 해시 함수 bcrypt 는 sha256 같은 해시 함수들의 문제점을 해결하기위해 설계되었다.sha256 는 원래 암호화를 위해 설계된 것이 아니라 짧은 시간 데이터를 검색하기 위한 자료구조로 설계가 되었다.이 때문에 빠른 속도가 장점이지만 취약점의 원인이 되기도 한다. 그래서 미리 해시값들을 계산해놓은 테이블을 가지고 해시 함수 반환값을 역추적하는 레인보우 테이블 공..
2024.04.25 -
bcrypt 사용방법 [ Javascript ] [ node.js ]
npm i bcrypt // 비밀번호를 DB 에 넣을때 const salt = await bcrypt.genSalt(4) // 기본값은 10, 숫자가 올라갈 수록 연산 시간과 보안이 높아진다. const hashed = await bcrypt.hash('비밀번호를 넣어주세요', salt) // hash 화 된 비밀번호를 만든다. // 비밀번호를 검증할 때 const validationPassword = await bcrypt.compare('입력받은 비밀번호', 'DB에 저장된 비밀번호') // 일치한다면 validationPassword 는 true, 아니면 false
2023.07.07 -
암호화
암호화 암호화는 데이터를 숨기고 다시 사용할 수 있게 만드는 과학이다. 암호화에서는 데이터를 숨기는 것을 암호화라고 하고 숨김을 해제하는 것을 복호화 라고한다. 데이터가 안전하게 교환되면 발신자가 먼저 암호화한 다음 수신자가 특수 키를 사용하여 복호화한다. 대칭 암호화는 동일한 키를 사용하여 데이터를 암호화하고 해독한다. 비대칭 암호화는 두개의 서로 다른키를 사용하여 데이터를 암호화하고 해독한다. 대칭 암호화 대칭 암호화는 데이터를 암호화하는 가장 빠른 방법이며 많은 양의 데이터를 보내는데 가장 일반적이지만 한 가지 주요 취약점이있다. 다른 사람에게 키를 보내면 다른사람이 읽을수 있는 형식이기 때문에 데이터가 도난당할 위험이 있다. 비대칭 암호화 비대칭 암호화는 한 가지 방식으로 대칭 암호화와 다르다. ..
2023.04.09