Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9328

【Node.js Express】Bcryptを用いて平文をハッシュ化する。

$
0
0

※当方駆け出しエンジニアのため、間違っていることも多々あると思いますので、ご了承ください。また、間違いに気付いた方はご一報いただけると幸いです。

bcryptを用いたハッシュ化

bcrypt というパッケージを用いて、Node.jsでパスワードをハッシュ化し保存します。
例としてusersControllerでサインアップ時にパスワードをハッシュ化します。

bcryptをインストールします。

npm install bcrypt

ハッシュ化を実施するコントローラーでロードします。

以下のようなusresControllerがあるとします。サインアップ時に使用するコントローラーです。
ORMにsequelizeを用いています。

sequelizeについては、こちらをご覧ください。
【Express】ExpressにSequelizeを導入しORMでデーターベースを操作する。(SQLite3)

usersController.js
functionsignup(req,res){db.sequelize.sync().then(()=>db.User.create({name:req.body.name,email:req.body.email,pass:req.body.password})).then(usr=>{res.redirect('/home');})}

bcryptをロードし、signup関数のpromiseチェーンに、ハッシュ化関数をかまします。

usersController.js
constbcrypt=require('bcrypt');//bcryptをロードfunctionsignup(req,res){db.sequelize.sync().then(()=>bcrypt.hash(req.body.password,10))//ハッシュ化関数をかまします。第二引数はハッシュ化の強度となります。.then(hashedPassword=>db.User.create({//生成されたハッシュを引数hashedPasswordで受け取ります。name:req.body.name,email:req.body.email,pass:hashedPassword//ハッシュ化されたものを保存します。})).then(usr=>{res.redirect('/home');})}

Viewing all articles
Browse latest Browse all 9328

Trending Articles