web-dev-qa-db-ja.com

CryptoJS:key.clampは関数ではありません

_TypeError: key.clamp is not a function
  at Object.init (path/node_modules/crypto-js/hmac.js:58:18)
_

上記のエラーは、以下の関連コードを使用してJavascriptでJWTを作成しようとすると発生します。

_const CryptoJS = require('crypto-js');
var hash = CryptoJS.HmacSHA256(token.join("."), secret);
_

crypto-js/hmac.js:58:18にはkey.clamp();があり、何が最善のアプローチかわかりません。 _HmacSHA512_で試しましたが、同じエラーが返されます。

_npm 6.1.0_ _node v6.10.3_ _crypto-js ^3.1.9-1_で実行しています。

6
Midori

サンプル から、secret(またはkeyと呼ばれる)はstringである必要があります。

したがって、このようにCryptoJSを使用すると、問題なく機能するはずです。

const token = "a,b";
const secret = "mySecret";
const CryptoJS = require('crypto-js');
var hash = CryptoJS.HmacSHA256(token.join("."), secret);
console.log(hash);
1
Adelin