問題タブ [node-crypto]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2697 参照

javascript - 将来の復号化のために、nodejsのcreatecipherivで暗号を作成するために使用されるivを保存する方法は?

私は暗号化が初めてで、nodejs を使用してアプリを提供しています。

私のアプリは、本番前に暗号化したい構成ファイルを使用しています.nodejsサーバーがこれらのファイルを(本番環境で)必要とするとき、それらは復号化されます.

crypto.createCipheriv(algo, key, iv)暗号化に使用しています。アルゴは「aes-256-ctr」です。キーはパスワードで作成されます。

iv は次のように生成されます。

したがって、ファイルを復号化したい場合は、キーと iv が必要です。キーの生成に使用するパスワード (ハッシュ) を保存し、ユーザーが指定したパスワードと照合しますが、iv を保存して取得するにはどうすればよいですか?

iv (fs.writefile と iv const を使用) をファイルに書き込んで読み取ろうとすると、復号化しようとすると次のエラーが表示されます。

エラー: キーの長さが無効です

サーバーでivを生成して使用すると、問題なく暗号化/復号化されます。

私の質問は、後でファイルを復号化するために使用した IV をどのように保存すればよいですか? 後で解読しようとするときにどのように使用しますか?

構成ファイルを暗号化して復号化するためのより良い方法/プラクティスはありますか? 構成データ、ユーザー/パスワードなどの暗号化/ハッシュ化された個人データをアプリに提供したいと考えています。

私のやり方は正しいですか、それとも間違った方向に進んでいますか? 暗号化に精通したユーザーが私を助けてくれることを感謝します...

ありがとう