Node.jsでユーザのログインのためにパスワードを安全に保存する方法を調べた.
通常webサービスで新しいユーザの登録をするためにパスワードを保存する必要がある.しかし、そのままサーバのデータベースにパスワードを保存するのでは、セキュリティに問題が出てきます。
パスワードの保存
ここではデファクトスタンダードになっているbcryptを使ってパスワードを別の形に変形してもとのパスワードがわからないようにします。その状態でデータベースに保存しておいて万が一にもデータベースのデータが盗まれても元のパスワードがわからないようにします。
逆にログインするときに送られてきたパスワードがデータベースにあるパスワードと同じであるかを比較するときには、送られてきたパスワードを同様の方法で別の形に変形して、データベースの変形後のパスワードと一致するかを比較します。
詳しく知りたい人はググってみてください。
コード
すごくシンプルで使いやすい.