πAPI credentials
Last updated
Last updated
import { createHmac } from 'crypto';
/**
* Create signature
*
* @param {*} data
* @param {string} secretKey
* @return {*} {string}
*/
function createSignature(data: any, secretKey: string): string {
// Sort by key
const sortedData = Object.fromEntries(Object.entries(data).sort());
// Encrypt in HMAC-SHA512
return createHmac('sha512', secretKey)
.update(sortedData)
.digest('hex');
}
/**
* Validate signature
*
* @param {*} data
* @param {string} requestSignature
* @param {string} secretKey
* @return {*} {boolean}
*/
function validateSignature(data: any, requestSignature: string, secretKey: string): boolean {
// Generate signature
const currentSignature: string = createSignature(data, secretKey);
// Compare and return
return currentSignature === requestSignature;
}...
let bodyParams = { ... };
const signature: string = createSignature(bodyParams, secretKey);
...