gpt4 book ai didi

javascript - Node 加密解密最终失败

转载 作者:搜寻专家 更新时间:2023-10-31 23:43:35 24 4
gpt4 key购买 nike

所以我正在使用 node crypto library解密由我无法控制的其他软件加密的二进制文件。使用以下代码,我能够成功解密它:

decipher = crypto.createDecipheriv('aes-128-ecb', password, iv);
decrypted = decipher.update(body, 'binary', 'utf8');

这很好,但似乎从我的解密文本末尾 chop 了大约 11 个字符。这很奇怪,因为它是超过 11200 个字符的明文。现在我怀疑原因是因为我没有这条线:

decrypted += decipher.final('utf8');

但是,如果我添加该行,则会出现错误 TypeError: DecipherFinal fail

我尝试了不同的输出编码并且没有 IV,但没有成功。我也读过这个问题:What's wrong with nodejs crypto decipher?这似乎是同一个问题,但我不明白我应该在 openssl 命令行上采取的步骤,或者这将如何影响我的 Node 程序。

最佳答案

您是否尝试过将自动填充设置为 false?默认情况下,它似乎设置为 true(见下文),因此如果对方不使用默认填充(不管是什么,可能是 PKCS#7 填充)进行填充,那么结果应该会失败...

decipher.setAutoPadding(auto_padding=true)

关于javascript - Node 加密解密最终失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14616369/

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