将代码从 JS 转换为 CPP

Translate code from JS to CPP

本文关键字:CPP 转换 JS 代码      更新时间:2023-10-16

我在CPP方面有点经验,在JS方面是全新的。有将代码从JS翻译成CPP的任务,我尝试了一些东西,但不清楚我在做什么;此后我的JS代码。

body: json object
xyz: string (suck as: ALgalgw7agw)
const payload = new Buffer(JSON.stringify(body))
    .toString('base64')
const signature = crypto
  .createHmac('sha384', xyz)
  .update(payload)
  .digest('hex')

1( 此代码段的含义是什么?

2( 如何在 CPP 中实施它?

非常感谢您的时间,

您谈论的是 NodeJS,在这种情况下,Buffer 类的实例类似于整数数组,但对应于固定大小的原始内存分配。缓冲区的大小是在创建缓冲区时确定的,不能调整大小。之后,您将它转换为 Base64 字符串。

const buf = Buffer.from('hello world', 'ascii');
// Prints: aGVsbG8gd29ybGQ=
console.log(buf.toString('base64'));
之后,您将为有效负载

创建一个哈希,使用"xyz"变量(这是破译有效负载的关键(,然后将其消化为十六进制。所以最后:

signature = /* hex sha384-with-key encrypted payload */

如果你想把这个JS代码翻译成C++你需要使用某种加密库(如OpenSSL(,对于缓冲区,我认为有内置函数。

我建议您阅读本文和本文以了解有关 NodeJS 上的加密和缓冲区类/函数的更多信息