Здравствуйте.
Мне нужно сгенерировать определенное Значение, для передачи его в GET запросе(обращение по API) - назвем Signature.
Signature: an HMAC-SHA1 hash of your Access ID, the Expires parameter, and your Secret Key. The secure hash must be base64 encoded then URL-encoded before Mozscape accepts the signature as valid. - Это как описывается в инструкции. Есть код на джаваскрипте, который можно использовать. Полный код есть здесь https://github.com/seomoz/SEOmozAPISamples/blob/master/javascript/node/batching-urls-sample.js
Но приведу часть, чтобы кто-то объяснил что нужно делать :
'use strict';
var crypto = require('crypto');
var http = require('http');
var expires = Math.floor((Date.now() / 1000)) + 300;
var accessId = process.env.accessId;
var secretKey = process.env.secretKey;
var cols = "68719476736";
var stringToSign = accessId + "\n" + expires;
var signature = crypto.createHmac('sha1', secretKey).update(stringToSign).digest('base64');
signature = encodeURIComponent(signature);
Могу все реализовать с помощью стандартных блоков БАС, пока дело не доходит до программирования, так как не программист, и до этих блоков:
var signature = crypto.createHmac('sha1', secretKey).update(stringToSign).digest('base64');
signature = encodeURIComponent(signature);
Пробовал вставить и в пользовательский код и в джаваскрипт но выбивают одни ошибки.
Я так понимаю, что закодировать в Base64 может и БАС, но вот что делать с hmac sha1 понятия не имею.
Должен получится в конце такой запрос AccessID=member-cf180f7081&Expires=1225138899&Signature=LmXYcPqc%2BkapNKzHzYz2BI4SXfC%3D
Вот переменную Signature мне как-то нужно получить
Помогите, кто разбирается.