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

前の記事で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