使用 crypto-js 解密二进制文件(图像)

Posted

技术标签:

【中文标题】使用 crypto-js 解密二进制文件(图像)【英文标题】:Decrypt binary file(image) with crypto-js 【发布时间】:2021-09-06 23:57:59 【问题描述】:

所以问题是如何使用 crypto-js 解密二进制文件。当我尝试加密/解密 json -> 我转换为 base64 时一切正常,但是如何解密这样的二进制文件 screenshot of data that is representing image in bytes

【问题讨论】:

如果您只有数据,那么解密它的机会几乎为零。对生成或处理此数据的代码进行逆向工程,以了解其数据格式。 加密始终适用于二进制数据,因此“字符串”加密只是将字符串转换为二进制文件并在解密后返回字符串。只需省略字符串转换,从文件中以二进制形式读取图像,解密并将数据写回另一个文件。 @MichaelFehr 我需要使用 aes 128 算法解密数据,我有密钥和 iv。我的意思是需要有关如何执行此操作的代码的帮助。 由于 *** 不是代码编写服务,您应该搜索“crypto-js aes 文件加密”并尝试解决您的问题。如果您仍在为某些代码苦苦挣扎,请返回您的具体问题,谢谢。 @MichaelFehr 可能你知道,当我用负 sigBytes 解密后得到 wordArray,比如 sigBytes:-24,这是什么意思? 【参考方案1】:

问题出在数据本身,应该像 arraybuffer 那样获取图像,因为只是 response.data 有奇怪的编码。问题可以结束了。

fetch(url)
 .then(response => response.arrayBuffer())
 .then(buffer => 
    const decrypted = decryptImg(buffer, key, iv)
);

【讨论】:

以上是关于使用 crypto-js 解密二进制文件(图像)的主要内容,如果未能解决你的问题,请参考以下文章

关于 vue中使用crypto-js,进行DES 的加密解密

三分钟撸完前后端crypto-js加解密,你学废了吗?

三分钟撸完前后端crypto-js加解密,你学废了吗?

三分钟撸完前后端crypto-js加解密,你学废了吗?

三分钟撸完前后端crypto-js加解密,你学废了吗?

vue里使用crypto-js实现AES加解密