HEX
Server: Apache/2.2.34 (Unix) mod_fastcgi/mod_fastcgi-SNAP-0910052141
System: Linux Kou-Etsu-Dou 4.4.59+ #25556 SMP PREEMPT Thu Mar 4 18:03:46 CST 2021 x86_64
User: hosam (1026)
PHP: 7.2.29
Disabled: NONE
Upload Files
File: /volume1/@appstore/SynologyApplicationService/node_modules/http_ece/encrypt.js~
'use strict';

var base64 = require('urlsafe-base64');
var crypto = require('crypto');
var ece = require('./ece.js');

if (process.argv.length < 4) {
  console.warn('Usage: ' + process.argv.slice(0, 2).join(' ') +
               ' <receiver-public> <message> [JSON args]');
  process.exit(2);
}

var sender = crypto.createECDH('prime256v1');
sender.generateKeys();
ece.saveKey('keyid', sender, "P-256");

var salt = base64.encode(crypto.randomBytes(16));

var params = {
  keyid: 'keyid',
  dh: process.argv[2],
  salt: salt
};

if (process.argv.length > 4) {
  var extra = JSON.parse(process.argv[4]);
  Object.keys(extra).forEach(function(k) {
    params[k] = extra[k];
  });
}

console.log("Params: " + JSON.stringify(params, null, 2));
var result = ece.encrypt(base64.decode(process.argv[3]), params);

console.log("Salt: " + salt);
console.log("Public Key: " + base64.encode(sender.getPublicKey()));
console.log("Encrypted Message: " + base64.encode(result));