@nekolab/hanime
Version:
Fast and efficient hanime.tv API wrapper written in TypeScript.
34 lines (33 loc) • 1.13 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getAppSignature = getAppSignature;
exports.getRewardTokenSignature = getRewardTokenSignature;
const crypto_1 = __importDefault(require("crypto"));
/**
* Get request signature
* @param t Timestamp
* @returns Request signature
*/
function getAppSignature(t) {
const str = `2${t}8${t}`;
const messageDigest = crypto_1.default.createHash('sha256');
const str2 = '994482' + str + '113';
const digest = messageDigest.update(str2).digest();
return digest.toString('hex');
}
/**
* Get signature for reward token request
* @param t Timestamp
* @param userId User ID
* @param v App version (build number)
* @returns Signature
*/
function getRewardTokenSignature(t, userId, v) {
const str = `coins${v}|${userId}|${t}|coins${v}`;
const messageDigest = crypto_1.default.createHash('sha256');
const digest = messageDigest.update(str).digest();
return digest.toString('hex');
}