Angular CryptoJs加密不解密节点JS CryptoJS

时间:2017-11-24 05:25:30

标签: angularjs node.js encryption cryptography cryptojs

这是我的Anguarjs代码

 $httpProvider.defaults.headers.common['key'] = CryptoJS.AES.encrypt('<datatoencrypt>', '<key let says xyx>=', {
        mode: CryptoJS.mode.CBC,
        padding: CryptoJS.pad.Pkcs7,
        keySize: '256 / 32'
    });

节点JS代码使用解密,算法为aes-256-cbc,密钥与angular相同。

app.all('*', function (req, res, next) {
var headers = JSON.parse(JSON.stringify(req.headers));
var decipher = crypto.createDecipher(algorithm, key);
decipher.setAutoPadding(true);
var dec = decipher.update(headers.key, 'hex', 'utf8');
dec += decipher.final('utf8');
if (dec != "<datatoencrypt>")
{
    //do something
    next();
}
else
{
    //do something
    next();
}});

我无法解密以角度方式完成的加密。如果单独使用它们都可以正常工作。如果我以角度本身解密字符串,它对节点来说也是一样的。但是Cross平台没有用,任何人都可以建议我的方法有什么问题。任何帮助,将不胜感激。 我已经尝试从两侧删除autopadding,也缓冲加密/解密不起作用。 提前致谢。

0 个答案:

没有答案