[解決済み】Node.jsでBase64エンコードを行うにはどうすればよいですか?
質問
Node.jsにBase64エンコーディングはまだ組み込まれていないのですか?
なぜこのようなことを聞くかというと
final()
から
crypto
は、16進数、2進数、ASCIIのいずれかのデータしか出力できません。例えば
var cipher = crypto.createCipheriv('des-ede3-cbc', encryption_key, iv);
var ciph = cipher.update(plaintext, 'utf8', 'hex');
ciph += cipher.final('hex');
var decipher = crypto.createDecipheriv('des-ede3-cbc', encryption_key, iv);
var txt = decipher.update(ciph, 'hex', 'utf8');
txt += decipher.final('utf8');
ドキュメントによると
update()
はBase64でエンコードされたデータを出力することができます。しかし
final()
はBase64をサポートしていません。試してみましたが、壊れます。
こうすれば
var ciph = cipher.update(plaintext, 'utf8', 'base64');
ciph += cipher.final('hex');
では、復号化には何を使えばいいのでしょうか?16進数かBase64か?
そこで、暗号化された16進数出力をBase64エンコードする関数を探しています。
どのように解決するのですか?
バッファ は、文字列やデータの一部を受け取り、その結果をBase64エンコードするために使用することができます。例えば
> console.log(Buffer.from("Hello World").toString('base64'));
SGVsbG8gV29ybGQ=
> console.log(Buffer.from("SGVsbG8gV29ybGQ=", 'base64').toString('ascii'))
Hello World
バッファはグローバルなオブジェクトなので、requireは必要ありません。文字列で作成されたバッファは、オプションのエンコーディングパラメータで、文字列のエンコーディングを指定することができます。利用可能な
toString
と
Buffer
コンストラクタのエンコーディングは以下の通りです。
'ascii' - 7ビットのASCIIデータのみ。このエンコード方法は、非常に は高速で、ハイビットが設定されている場合はストリップされます。
utf8' - マルチバイトエンコーディングされた ユニコード文字。多くのウェブページやその他の文書フォーマットでは UTF-8。
ucs2' - 2 バイト、リトルエンディアンでエンコードされた Unicode 文字です。これは はBMP(Basic Multilingual Plane、U+0000〜U+FFFF)だけをエンコードすることができます。
'base64' - Base64文字列エンコーディング。
バイナリ」- 生の バイナリデータの最初の8ビットのみを使用して文字列に変換します。 文字です。このエンコーディング方式は非推奨です。 可能であれば、Buffer オブジェクトを使用することをお勧めします。このエンコーディングは削除される予定です。 の将来のバージョンでは
関連
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Node.jsで終了する方法
-
[解決済み] Node.jsでファイルを書き込む
-
[解決済み] Node.jsアプリケーションをデバッグするにはどうすればよいですか?
-
[解決済み] Node.jsのmodule.exportsの目的と使い方を教えてください。
-
[解決済み] Node.jsのnpmモジュールをアンインストールするにはどうすればよいですか?
-
[解決済み] base64文字列をエンコード、デコードするにはどうしたらいいですか?
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Node Version Manager のインストール - nvm コマンドが見つかりません。
-
[解決済み】Google spreadsheet api Requestに不十分な認証スコープがあった。
-
[解決済み】モジュール 'internal/util/types' が見つかりません。
-
[解決済み】Heroku + node.jsのエラー(Webプロセスが起動後60秒以内に$PORTにバインドできなかった)。
-
[解決済み] bodyParser は非推奨です express 4
-
[解決済み] AWS lambda function error - Unable to import module 'index': エラー
-
[解決済み] エラーです。Cannot find module 'ejs'
-
[解決済み] DynamoDBで一括削除するにはどうしたらいいですか?
-
[解決済み】NodeJS:Base64エンコードされた文字列をバイナリにデコードする方法は?[重複している]をクリックします。
-
[解決済み】クライアントサイドのjavascriptでBase64エンコードとデコードを行う【重複あり