1

アップロードされた各ファイルでハッシュを生成する必要があります。ハッシュは、特定のファイルに対して生成されたハッシュ git と同一である必要があります (これは、一般的な用語では、sha1 の変形です)。

を調べました/nodejs-v0.10.22-src/core-modules-sources/lib/crypto.js。ライブラリはネイティブ バインディングを参照します。移植性のために、ネイティブ コードに依存したくありません。

私がこれらを行うことができるように、JavaScriptでカスタム暗号アルゴリズムをnodejs暗号モジュールに追加する方法はありますか?

var hash = crypto.createHash('githash');
hash.update('...');
4

2 に答える 2

1

cryptoモジュールで利用可能なハッシュを拡張することはできません。指定されたハッシュはhttps://github.com/joyent/node/blob/v0.10.22/src/node_crypto.cc#L2856でチェックされ 、基本的に OpenSSL でサポートされているハッシュに依存します。

独自のコードにリダイレクトするためにモンキーパッチを適用できる可能性がありますがcreateHash、お勧めできません。

代わりに、bodyParser が完成した後にデータをハッシュするようにミドルウェアの使用法を作り直すか、標準の bodyParser をスキップして、特定のユースケースに合わせて独自のものを実装することをお勧めします。

于 2013-12-10T08:55:03.790 に答える