如何在node js中解压二进制数据
Posted
技术标签:
【中文标题】如何在node js中解压二进制数据【英文标题】:How to decompress binary data in node js 【发布时间】:2020-02-03 23:58:42 【问题描述】:在我将数据从 base 64 解密为二进制后,我想解压缩这些数据。
在php语言中,我们有gzdecode()内置函数,但是我在我的项目中使用node js,我不知道如何使用gzip解压二进制数据。我在请求正文中获取加密数据,然后我将其解密,然后我想解压缩我的解密数据。在此步骤之后,我将解密的数据存储在我的 mongodb 数据库中
我将数据从 base 64 解密为二进制形式的代码
function decrypt(text, salt, iv)
const password = "password";
crypto.pbkdf2(password, salt, 65536, 256, "sha256", (err, key) =>
try
const key32 = key.slice(0, 32);
const decipher = crypto.createDecipheriv("aes-256-cbc", key32, iv);
let decrypted = decipher.update(text, "base64", "binary");
decrypted += decipher.final("binary");
// and then I want decompress my `decrypted` variable
// like gzdecode(decrypted) in php
catch (error)
throw new Error(error)
);
decrypt(plainText, salt, iv)
【问题讨论】:
How do I ungzip (decompress) a NodeJS request's module gzip response body?的可能重复 我不这么认为 【参考方案1】:Node.js 具有内置的 ZLib 支持。完成解密后,您可以使用:
zlib.unzip
或 zlib.unzipSync
用于解压
inflate
or inflateSync
用于充气
希望有帮助!
【讨论】:
以上是关于如何在node js中解压二进制数据的主要内容,如果未能解决你的问题,请参考以下文章