bcrypt-cliを入れなくても、インラインでnodeコマンドを実行すればよかった話

2025-03-19 | カテゴリー: IT技術

記事のメイン画像

前の記事でbcryptをローカルで動かすためにbcrypt-cliを使おうって内容を書きましたが、node -eというコマンドを実行すればnodeのコードをインラインで実行できることを知ったので紹介します。

bcryptで暗号化

下記コマンドで暗号化ができます。

node -e 'const bcrypt = require("bcrypt"); bcrypt.hash("your_password", 10, (err, hash) => { if (err) throw err; console.log(hash); });'

bcryptで比較

bcrypt-cliでは比較コマンドの実行ができないのですが、こちらは普通のbcryptパッケージを使えるので比較もできます。

node -e 'const bcrypt = require("bcrypt"); bcrypt.compare("plane_password", "hashed_password", (err, result) => { if (err) throw err; console.log(result ? "Match" : "No Match"); });'

もう一つ、JWT_SECRETの生成も紹介

こちらの記事にあるのですが、JWT SECRETを生成するのもnode のワンラインでいけます。

https://dev.to/tkirwa/generate-a-random-jwt-secret-key-39j4

node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"

このコマンドで生成されたkey文字列を、.envファイルに下記のように設定してあげて環境変数として使えばOKです。

JWT_SECRET=paste-the-generated-string-here

Nuxt3の場合は、下記のように設定して、runtime configで読み取れるようにしてあげましょう。

NUXT_JWT_SECRET=paste-the-generated-string-here
© Copyright 2025 浅井 All rights reserved.