ポイント bcrypt.hashは時間がかかる為、非同期処理としてコントロールする必要。async awaitをつける hash後にhash化したパスワードをデータベース等に保存する処理を書くことが多いと思いますが、その場合async awaitをつけないとハッシュ化が終わる前に次の保存処理を実行してしまう為、passwordがみつかりませんよ!みたいなエラーが出る。 bcryptにはhashSyncというメソッドも用意されており、これを使ってもasync await同様の同期的な動きをとる。が、どこかで非推奨?と見た事があります。 使用例 現在勉強のため制作しているTodoアプリでexpress, mongooseを使っていますので、そこで使ったユーザー登録とログイン処理での使用例を記載致します。 <新規ユーザー登録> クライアントからのフォーム送信で受けた新規ユーザーのpassword