gpt4 book ai didi

node.js - Node.js 中 OpenSSL base64 enc 的等效项 (openssl enc -base64 -d -A)?

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

我正在使用一个 API,它返回经过压缩和双 Base64 编码的数据。我尝试在 NPM 中使用几个 Base64 库,但没有成功。执行每个库的等效操作 decodeBase64(decodeBase64(something))总是由于输出编码错误而失败。

此工作在 shell 中:something | openssl enc -base64 -d -A | openssl enc -base64 -d -A | gunzip 。我本质上是在寻找一种与 something | openssl enc -base64 -d -A | openssl enc -base64 -d -A | gunzip 行为完全相同的 Node.js 方法。 。

以下库在这种情况下不起作用:64位基数64 进制js-base64

最佳答案

解决方案是找到一个可以处理 Base64 的字符串和二进制表示形式(它反射(reflect)了 OpenSSL)的库。

const forge = require('node-forge')
const zlib = require('zlib')

const pass1 = forge.util.decode64('SDRzSUFBQUFBQUFBQUNzcEtrMEZBSTFNL1AwRUFBQUE=')
const pass2 = forge.util.binary.base64.decode(pass1)
const result = zlib.gunzipSync(new Buffer(pass2)).toString()

console.log(result) // true

关于node.js - Node.js 中 OpenSSL base64 enc 的等效项 (openssl enc -base64 -d -A)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32916896/

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