我想将cryptojs用于encrypt cookies,我想用他的网卡mac地址加密用户ID。
cryptoJS需要JSON.stringify这个数据然后加密
但我在控制台中看到了这个错误:
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 :(得分:0)
user._id
为ObjectId
,只需将其转换为字符串:
var userInfo = JSON.stringify({ _id: user._id.toString(), mac: mac });
同时尝试使用util.inspect
,它会自动使用[Circular]
替换循环链接。