hunter-hwang-dev / tech-blog

1 stars 0 forks source link

hashing 라이브러리 - bcrypt는 deprecated된 참조 많아 argon2로 변경 후, npm prune으로 extraneous 정리 #22

Closed hunter-hwang-dev closed 1 hour ago

hunter-hwang-dev commented 2 hours ago

bcrypt 해싱 알고리즘을 선택한 이유는 별 거 아니고,

1. 유료구매한 강의에서 알려줌
2. 너무 무겁진 않은데 보안이 괜찮다는 후기 - 비밀번호에 적합

한국에서는 인터넷뱅킹 해싱 표준이 SHA-256 인 것으로 알고 있다. 그런데 "GPU로 뚫기 쉬운 해싱 방식이다, 위험할 수 있다" 하는 기사도 읽었고... (구체적으로 어떻게 위험한지는 여유가 있을 때 알아보도록 하자.)

그래서, deprecated 된 내부 참조(?)가 많다고 해서 해싱 방식을 바꾸고 싶지는 않고 bcrypt 라이브러리 최신 문서를 읽어보아야겠다.

hunter-hwang-dev commented 2 hours ago

npm install bcrypt로 라이브러리를 설치했는데, deprecated된 게 많네. Image

hunter-hwang-dev commented 2 hours ago

https://github.com/kelektiv/node.bcrypt.js?tab=readme-ov-file

hunter-hwang-dev commented 2 hours ago

https://github.com/kelektiv/node.bcrypt.js/issues/1038 에서 보면 현재 node.js bcrypt 라이브러리 설치할 때 항상 생기는 문제 같다. 해싱 방식을 바꾸고 싶지 않다고 했는데, 그냥 바꿔야겠다.

1. 최대한 최근 라이브러리 업데이트가 된
2. 보안 등급이 높은

해싱 라이브러리가 필요하다.

(조금 오래 걸려도 상관없다. admin의 비밀번호를 수정할 일은 극히 드물고, 해싱이 빡빡하게 풀기 어렵게 되는 것이 0순위 이기 때문이다.)

Image Image

ChatGPT에게 대안을 물어보니, argon2를 추천하더라. 2개월 전에 업데이트 되었네! 차라리 argon2 알고리즘을 쓸까 싶다.

hunter-hwang-dev commented 1 hour ago

Image 어차피 bcrypt 안 쓰기로 했으니 롤백합시다.

hunter-hwang-dev commented 1 hour ago

https://www.npmjs.com/package/argon2#usage

hunter-hwang-dev commented 1 hour ago

Image 넹?

hunter-hwang-dev commented 1 hour ago

https://dev.to/rajeshkumaryadavdotcom/removing-extraneous-npm-packages-43n4 Image Image

npm prune 쓰면 extraneous = 즉 안 쓰는데 왜 있음? 라이브러리를 정리해 준다고 한다.

hunter-hwang-dev commented 1 hour ago

Image 굿! 깔끔하다.

hunter-hwang-dev commented 1 hour ago

Image