Задать вопрос
@turdubekov
Студент

Где этот код можно запустить?

В основном пищу на Java Spring, но тут попался код на JavaScript. Проблема в том что я вообще не трогал js.
Вопрос: Где и как можно скомпилировать ниже описанный код?
import * as crypto from 'crypto';
const secretKey = 'some secret from   team';
const path = '/public/psp/payment/v1/39b826bf-6b00-4996-bee7-7bfab4e055f5/static';
const message = `{"externalGuid":"123","webhookUrl":"http://test.test.test","amount":"100"}`;
const salt = 'd5afd864-7559-43d3-9f30-76805f536db9'; //should be practically uniq, uuid v4 is a good solution
const signer = crypto.createHmac('sha512', secretKey);
signer.update([path, message, salt].join(''));
const signature = signer.digest('base64');
console.log(signature);
  • Вопрос задан
  • 89 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 3
rqdkmndh
@rqdkmndh
Web-разработчик
Можно установить на свой компьютер компилятор https://nodejs.org/en/ и исполнять такие файлы. Чтобы подключать различные библиотеки нужно искать их тут https://www.npmjs.com/
Ответ написан
Комментировать
Seasle
@Seasle Куратор тега JavaScript
Этот код написал для Node.js с использованием стандартного модуля crypto. Для запуска Вам потребуется установить среду исполнения Node.js, создать директорию для работы, в которую необходимо будет поместить Ваш файл и package.json (npm init -y). В приведённом Вами коде используются ES6-импорты (ESM-импорты), которые сразу не будут работать в Node.js, т.к. в нём используются CommonJS-импорты. Для решения данной проблемы у Вас есть два пути:
1. Добавить "type": "module"в package.json:
{
  ...
  "type": "module",
  ...
}

2. Изменить подключение модулей в исходных кодах:
- import * as crypto from 'crypto';
+ const crypto = require('crypto');

Вывод:
$ node .
cVoADkhcldK+mYC3Id5vhkxOr4NwVspTcgF56RiRG0CzcnOcBwcELKi1YnBNySmZugpjJNHuCU7ePjwVadqfAw==
Ответ написан
Комментировать
ketovv
@ketovv
Питонист
Скомпилировать его нигде нельзя, увы, а вот запустить можно попробовать на codesandbox!
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы