[解決済み】NodeJS:Base64エンコードされた文字列をバイナリにデコードする方法は?[重複している]をクリックします。
2022-03-26 14:53:31
質問
ソルトを使ったパスワードハッシュを実装していたので、ソルトをバイナリで生成してパスワードをハッシュ化し、パスワードとソルトをbase64エンコードしてデータベースに保存しています。
今、私がパスワードをチェックするとき、私はソルトをバイナリデータにデコードし、それを使って与えられたパスワードをハッシュ化し、その結果をbase64エンコードし、その結果がデータベースのものと一致するかどうかをチェックすることになっているのです。
問題は、ソルトをバイナリデータにデコードする方法が見つからないことです。Buffer.toStringメソッドを使ってエンコードしましたが、逆の関数がないようです。
解決方法は?
Node.js v6.0.0現在 を使って コンストラクタのメソッドは非推奨となりました。 で、base64 エンコードされた文字列から新しいバッファを構築するには、代わりに次のメソッドを使用する必要があります。
var b64string = /* whatever */;
var buf = Buffer.from(b64string, 'base64'); // Ta-da
Node.js v5.11.1以下の場合
新しい
Buffer
と
パス
'base64'
を第2引数にとります。
var b64string = /* whatever */;
var buf = new Buffer(b64string, 'base64'); // Ta-da
クリーンであることを望むなら、以下のように
from
が存在します。
if (typeof Buffer.from === "function") {
// Node 5.10+
buf = Buffer.from(b64string, 'base64'); // Ta-da
} else {
// older Node versions, now deprecated
buf = new Buffer(b64string, 'base64'); // Ta-da
}
関連
-
[解決済み] リソースの読み込みに失敗しました: net::ERR_CONNECTION_REFUSED : Nodejs
-
[解決済み] nodejsでfindAllのソート順を続編にする
-
[解決済み] なぜbase64エンコーディングでは、入力長が3で割り切れない場合、パディングが必要なのですか?
-
[解決済み] base64文字列をエンコード、デコードするにはどうしたらいいですか?
-
[解決済み] HTMLでBase64画像を表示する方法
-
[解決済み] バイナリデータをJSON文字列で。Base64より優れたもの
-
[解決済み] JavaでBase64データをデコードする
-
[解決済み] base64でエンコードされた文字列の最後に=記号があるのはなぜですか?
-
[解決済み】Node.jsでBase64エンコードを行うにはどうすればよいですか?
-
[解決済み】JavaScriptで文字列をBase64にエンコードするにはどうすればいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] リソースの読み込みに失敗しました: net::ERR_CONNECTION_REFUSED : Nodejs
-
[解決済み】Node Version Manager のインストール - nvm コマンドが見つかりません。
-
[解決済み] 非推奨パッケージに関するNPM警告メッセージ
-
[解決済み】Heroku + node.jsのエラー(Webプロセスが起動後60秒以内に$PORTにバインドできなかった)。
-
[解決済み] MongoDB でコレクションを日付順に並べるには?
-
[解決済み] Passport JSのreq.isAuthenticated()はどのように実装されていますか?[クローズド]
-
[解決済み] ランタイム 'node' が PATH で見つからない - Visual Studio Code と Node.js
-
[解決済み] "app.use(express.cookieSession())" に "secret" オプションが必要です。
-
[解決済み] ノードのバージョンを管理するためのnまたはnvm - 各バージョンのグローバルモジュールを保持することは良いアイデアですか?
-
[解決済み】Node.jsでBase64エンコードを行うにはどうすればよいですか?