2017-08-29 16 views
0

私はからを使いたいと思っています。自分のネットワークカードのMACアドレスでユーザーIDを暗号化したいと思います。
cryptoJSは、このデータをJSON.stringifyして暗号化する必要があります。
しかし、私は、コンソールでこのエラーを参照してください。node.jsの循環構造を解く方法

TypeError: Converting circular structure to JSON 

これは私のコードの抜粋です:

var mac = 'e0:23:e3:46:57:52' 
var userInfo = JSON.stringify({_id: user._id, mac: mac}) 
var cookie = crypto.AES.encrypt(userInfo, 'secret key') 
res.cookie('userInfo', cookie, { expires: new Date(Date.now() + 900000000) }) 
+0

「user._id」の種類は何ですか?私はそれが循環参照を含むかもしれないと思う。 – Thomas

+0

mongodbのObject.id – mo30

+0

エラーが 'JSON.stringify'呼び出しから来た場合、これは暗号化、クッキー、または暗号化とは関係ありません。 – Thomas

答えて

0

user._idは単なる文字列に変換し、ObjectIdです:

var userInfo = JSON.stringify({ _id: user._id.toString(), mac: mac }); 

util.inspectを使用しようとすると、循環リンクが自動的に[Circular]に置き換えられます。

+0

はまだ同じエラーを示しています:( – mo30

+0

mac MACアドレス、文字列 – mo30

関連する問題