19 lines
813 B
JavaScript
19 lines
813 B
JavaScript
const crypto = require('crypto')
|
|
const settings = require('../settings.json')
|
|
const secret = require(settings.secret)
|
|
module.exports = function (cmd) {
|
|
const cmdWithoutHash = cmd.slice(0, cmd.length - 1).join(' ')
|
|
const _dateString = Date.now().toString()
|
|
const dateString = _dateString.slice(0, _dateString.length - 4)
|
|
const hashTrusted = 'babyboom:' + secret.keyTrusted + ':' + cmdWithoutHash + ':' + dateString
|
|
const hashOwner = 'babyboom:' + secret.keyOwner + ':' + cmdWithoutHash + ':' + dateString
|
|
const validhashT = crypto.createHash('sha256').update(hashTrusted).digest('hex')
|
|
const validhashO = crypto.createHash('sha256').update(hashOwner).digest('hex')
|
|
if (cmd[cmd.length - 1] === validhashT) {
|
|
return 1
|
|
}
|
|
if (cmd[cmd.length - 1] === validhashO) {
|
|
return 2
|
|
}
|
|
return 0
|
|
}
|