在NodeJS中验证签名

时间:2018-12-04 19:35:29

标签: javascript node.js cryptojs

按照我的逻辑,我正在根据密钥对某些数据进行哈希处理。稍后,我想验证该签名。我在nodejs中使用crypto包。具体来说,在verifier.verify函数中,文档需要publicKey。当我在config中使用密码时,我该怎么办?

任何帮助都会很棒!

let data = {
  "data": 15 
}

config: {
  secret: 'mgfwoieWCVBVEW42562tGVWS',
}

let stringData = JSON.stringify(data)

const hash = crypto.createHmac('sha256', config.secret)
                   .update(stringData, 'utf-8')
                   .digest('base64')

const verifier = crypto.createVerify('sha256')
let ver = verifier.verify(publicKey, stringData, 'base64')
console.log(ver);

1 个答案:

答案 0 :(得分:2)

如果要验证节点中的特定签名,可以使用以下内容

config: {
secret: "IloveMyself"
};

var cipherPassword = crypto.createCipher('aes-256-ctr', config.secret);
var dbpassword = cipherPassword.update(dbpassword, 'utf-8', 'hex');

这将用于创建密码加密。现在,要再次在NodeJS中验证密码/签名,您需要执行以下操作:

var cipher = crypto.createDecipher('aes-256-ctr', config.secret);
var dbPassword = cipher.update(dbpassword, 'hex', 'utf-8');

这将提供解密的密码/签名,您可以轻松进行比较。希望对您有所帮助!