[Node] 암호화(feat. bcrypt)
·
JavaScript/Node
Bcrypt는 단방향 암호화 알고리즘으로써, 비밀번호 해싱을 위해 설계되었다. 내부적으로 랜덤 salt가 생기고이에 따른, 해시값의 결과가 매번 바뀌게 된다.Bcrypt는 랜덤하게 솔트를 생성한 후 비밀번호와 솔트를 결합하여 Blowfish암호를 여러 번 반복하여 해싱한다.반복 횟수는 cost factor로 결정하며 이를 통해 해싱 속도를 조절한다. 그렇기 때문에, Brycpt는 단방향 암호화라고 한다. 입력 데이터를 고정된 크기의 해시 값으로 변환하고변환된 데이터를 원래의 입력한 데이터로 복원하는 것은 불가능하기 때문이다. /*salt는 해싱 과정에서 비밀번호에 추가되는 임의의 데이터 조각이라고 생각할 수 있다.salt가 추가됨으로써 동일한 비밀번호도 서로 다른 해시 값을 가지게 되어 같은 해시 값을 ..