gpt4 book ai didi

node.js - 将 PGP 加密的二进制文件编码为 NodeJS 的 Base64

转载 作者:太空宇宙 更新时间:2023-11-04 00:16:38 25 4
gpt4 key购买 nike

我有一个名为 file.pgp 的 PGP 加密文件,它不能是 ascii-armor 格式,而是二进制格式。它看起来像这样:

�P��3E��Q� �i`p���
����&�9
�ֻ�<P�+�[����R0��$���q����VJ��hu���bE"2��M1r��j�K�v�@6�3E�Ҳ�A�W{Z
��FEԭ�YV��6g�V���e�,I�Zpw�r��8׆
�mc��h��n���k�p�>JH\�G�6��M1|>�G�fl�J���6��
ج��
�_��y8�..{���_⮵���F���~�vt
�8AB;z����m^��Xp���VӅCzD�ճn

����{+d�3�"��N�1p�

当我使用 GNU base64 编码器时,我得到这个字符串:

$ cat 文件.gpg | 64位基数
hQEMA1DujfGcM0WiAQgAvcIMUfydsSDmaWBwnoWACrsapePpJpU5Co68276SK2XVBqY2YyNUgzAF
oawkpMjfcQS+7+nJVkrb7Gh1h4L9YkUiMo+dTTFyzs5qskuECNZ25UA2rzNF+NKyq0HZV3sXWg3P
AwZNZbNJIAc4xWlBNfsNoda7zhk8UJArj1sAiKPw5VIKjahGRdSt2FlWurs2Z5EXVriLG0aHZbAs
SecjWnB3Aalyoo8414aGbWOr5WjU7rpugBLw52uAcJgcPkpIXMJjCEf4gTbc1k0xfD4YjUejZmyH
H0rYAAHw3DbjyQrYrLmHC9Vfm655HBU40xceLi5/e4n2Dxge+F/irrW9o9JGAfCf5OZ+gXZ0Ggv9
t620m704QUI7eryy0ddtXoGsWHCxu4gaVtOFQ3pEp9WzZghuC5j1/c57K2T4lzP+IvEfo07fMRFw
tg==

使用 GNU base64 工具,我可以成功地将其重新转换为原始 pgp 文件并解密。

我想在 NodeJS 中实现一个类似的工具。我可以成功转换 ASCII 文本,但不能转换二进制内容。我的临时代码如下所示:

var stdin = process.openStdin();
var data = "";

stdin.on('data', function(chunk) {
data += chunk;
});

stdin.on('end', function() {
console.log(new Buffer(text, 'binary').toString('base64'));
});

用法:$ cat file.gpg | Node base64.js

输出看起来与 GNU base64 提供的不同。另外,我无法将其转换回原始 file.gpg 文件 - GnuPG 找不到任何要解密的内容。

最佳答案

发生这种情况是因为您在注释中传递了一个字符串而不是缓冲区作为 Gleep 点。

你可以这样做:

let stdin = process.openStdin();
let data = [];

stdin.on('data', chunk => {
data.push(chunk);
});

stdin.on('end', () => {
console.log(Buffer.concat(data).toString('base64'));
});

关于node.js - 将 PGP 加密的二进制文件编码为 NodeJS 的 Base64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46669811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com