Hysii
Hysii

Reputation: 772

Verifying signature in NodeJS

In my logic i am hashing some data based on a secret key. Later I want to verify that signature. I am using the crypto package in nodejs. Specifically, in the verifier.verify function, the docs require a publicKey. How would i go upon doing this as i am using the secret in config?

Any help would be awesome!

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);

Upvotes: 0

Views: 1464

Answers (1)

Sunny Parekh
Sunny Parekh

Reputation: 983

If you want to verify a particular signature in node you can use the following

config: {
secret: "IloveMyself"
};

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

This will be for creating encryption of the password. Now to verify the password/signature again in NodeJS, you need to do the following:

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

This will give decrypted password/signature which you can compare easily. I hope it helps!

Upvotes: 2

Related Questions