@Denis0309 https://2captcha.com/ru/demo/geetest
Посмотрите тут - оно?
Здравствуйте.
Мне нужно сгенерировать определенное Значение, для передачи его в 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 мне как-то нужно получить
Помогите, кто разбирается.
@DrPrime Вот подготовил модуль для crypto-js
0_1491991653382_CryptoJs.zip
Нужно его установить и выполнить
CryptoJS.HmacSHA256("Message", "Key")
Также эта либа поддерживает кучу других методов. https://www.npmjs.com/package/crypto-js
@support
Что то не то)
Выполняю следующий код
[[DATA]] = "Hello"
[[KEY]] = "qwerty123"
[[SIGNATURE]] = CryptoJS.HmacSHA256([[DATA]], [[KEY]])
Получаю массив:
sigBytes: 32,
words: [
-166834478,
1662242229,
-1804389374,
-898250840,
-593942154,
85902484,
390772387,
-1191507454
А хотел получить :
f60e4ed26313cdb594733402ca75c7a8dc992976051ec494174ab6a3b8fb0a02
взято с http://www.freeformatter.com/hmac-generator.html#ad-output
Как мне это привести к такому виду?