Closed hunter-hwang-dev closed 2 weeks ago
npm install bcrypt
로 라이브러리를 설치했는데, deprecated된 게 많네.
https://github.com/kelektiv/node.bcrypt.js/issues/1038 에서 보면 현재 node.js bcrypt 라이브러리 설치할 때 항상 생기는 문제 같다. 해싱 방식을 바꾸고 싶지 않다고 했는데, 그냥 바꿔야겠다.
1. 최대한 최근 라이브러리 업데이트가 된
2. 보안 등급이 높은
해싱 라이브러리가 필요하다.
(조금 오래 걸려도 상관없다. admin의 비밀번호를 수정할 일은 극히 드물고, 해싱이 빡빡하게 풀기 어렵게 되는 것이 0순위 이기 때문이다.)
ChatGPT에게 대안을 물어보니, argon2를 추천하더라. 2개월 전에 업데이트 되었네! 차라리 argon2 알고리즘을 쓸까 싶다.
어차피 bcrypt 안 쓰기로 했으니 롤백합시다.
넹?
https://dev.to/rajeshkumaryadavdotcom/removing-extraneous-npm-packages-43n4
npm prune
쓰면 extraneous
= 즉 안 쓰는데 왜 있음? 라이브러리를 정리해 준다고 한다.
굿! 깔끔하다.
bcrypt 해싱 알고리즘을 선택한 이유는 별 거 아니고,
한국에서는 인터넷뱅킹 해싱 표준이 SHA-256 인 것으로 알고 있다. 그런데 "GPU로 뚫기 쉬운 해싱 방식이다, 위험할 수 있다" 하는 기사도 읽었고... (구체적으로 어떻게 위험한지는 여유가 있을 때 알아보도록 하자.)
그래서, deprecated 된 내부 참조(?)가 많다고 해서 해싱 방식을 바꾸고 싶지는 않고 bcrypt 라이브러리 최신 문서를 읽어보아야겠다.