問題タブ [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 に答える
569 参照

python - Python と Node の間で AES 暗号を使用する際の問題

python( aes-128-ecb)で文字列を暗号化し、ノードで文字列を復号化したい。以下は私が書いたものです。なぜうまくいかないのかわかりません。

PyCrypto ライブラリ ドキュメント: http://pythonhosted.org//pycrypto/

ノード暗号ライブラリ ドキュメント: http://nodejs.org/api/crypto.html

Python コード

JS コード

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

javascript - Node.js 暗号 aes-256-cbc-hmac-sha1 が機能しない

Node.js 暗号モジュールで aes-256-cbc-hmac-sha1 アルゴリズムを使用しようとしています。

私がやろうとしていることを示すコードスニペットは次のとおりです。

HMAC が含まれていないアルゴリズムは機能しますが、HMAC のアルゴリズムは機能しません。ステップで失敗しますdecipher.update。完全な出力:

ただし、HMAC を単独で作成すると、正常に動作します。

私が間違っていることはありますか?それとも暗号モジュールのバグですか? (ノード 0.10.26 と 0.10.28 でテスト、同じ結果)

ありがとうございました

(注、これもバグとして投稿しました: https://github.com/joyent/node/issues/7583 )

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

node.js - node.js 暗号による PKCS5 パディング

node.js crypto のドキュメントは、パディングが入力ストリームに自動的に挿入されることを示しています。平文の SHA1 ハッシュを計算し、その 20 バイトのハッシュを PKCS5 パディングで AES-256/CBC を使用して暗号化する必要がある単純なテスト プログラムがあります。ここに私のテストコードがあります:

ただし、これにより生成されるファイルの長さはわずか 23 バイトです。適切な PKCS5 パディングがあれば、出力は 32 バイトになると予想していました。私は何が欠けていますか?

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

node.js - Node.js で Crypto を使用する際のエラー処理

次のように、暗号化/復号化に Node.js の Crypto ライブラリを使用しています。

暗号化部分は問題ありません。また、復号化のために正しいパスフレーズを送信しても問題はありません。私の問題は、復号化のために「間違った」パスフレーズを送信すると、コードが壊れてエラーがスローされることです。

私はそれが起こりたくない。たとえば、復号化関数が「パスフレーズが間違っています」という文を返します。ドキュメントによると、ここにリンクの説明を入力してください createDecipher 関数はコールバック関数を受け入れません。

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

node.js - decipher.update の暗号化エラー

Node プロジェクト用の JavaScript モジュールを作成しています。

非常にあいまいなエラーが発生します

以下は私のjavalogin.jsファイルです。エラーはdecipher.update(rows[i].CC, 'hex', 'utf8');行で発生しているようです。

コンソールの出力が得られます。

JavaLogin.js:

0 投票する
0 に答える
801 参照

javascript - ノード暗号 diffieHellman.setPrivateKey()

Pub Key交換を行うためにNodeでCrypto libを使用しています。これまでのところ.getDiffieHellman('modp5')、新しい接続ごとに新しい公開/秘密鍵を生成するだけでした。この方法論は、AES 暗号化で使用するシークレットを計算するのに最適です。

ただし、秘密鍵をファイルに保存して、次回の実行時にロードできるようにしたいと考えています。これを行う方法は.getPrivateKey()and thenのようですが、によって生成されたクラスで.setPrivateKey()使用すると機能しません。これは実際にドキュメントに記載されています:.setPrivateKey()crypto.createDiffieHellman.getDiffieHellman('modp5')

返されるオブジェクトは、上記の crypto.createDiffieHellman() によって作成されたオブジェクトのインターフェースを模倣しますが、キーを変更することはできません (たとえば、diffieHellman.setPublicKey() を使用)。

次のコードを使用して秘密鍵を生成した場合、これを知っています。

後日、同じ秘密鍵をロードするにはどうすればよいですか?

暗号ドキュメントで指定されているRFC2412を調べたところ、グループ 5 の素数が次のようにリストされていることがわかりました。

2^1536 - 2^1472 - 1 + 2^64 * { [2^1406 パイ] + 741804}

241031242692103258855207602219756607485695054850245994265411 694195810883168261222889009385826134161467322714147790401219 650364895705058263194273070680500922306273474534107340669624 601458936165977404102716924945320037872943417032584377865919 814376319377685986952408894019557734611984354530154704374720 774996976375008430892633929555996888245787241299381012913029 4592999947926365264059284647209730384947211681434464714​​43848 8520940127459844288859336526896320919633919

FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1 29024E088A67CC74020BBEA63B139B22514A08798E3404DD EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245 E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3D C2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F 83655D23DCA3AD961C62F356208552BB9ED529077096966D 670C354E4ABC9804F1746C08CA237327FFFFFFFFFFFFFFFF

この素数を に入れてみました.createDiffieHellman(prime, [encoding])。ただし、その後、.setPrivateKey()キーの長さが正しくないという苦情がありました。

任意の洞察をいただければ幸いです。

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

javascript - node.js暗号モジュールは16文字以上を暗号化できません

私はまだ暗号に関するすべての用語にかなり慣れていないので、この件に関する私の無知を許してください。node.js の crypto モジュールを使用しているときに、奇妙なことが起こっています。正確に 16 文字のみを暗号化します。それ以上の場合、次のエラー メッセージで失敗します。

私が使用しているコードは次のようになります。

これが 16 文字以上を暗号化しないのはなぜですか? 使用しているアルゴリズムのせいですか?長さを気にせずに何かを暗号化するにはどうすればよいですか?