使用 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 解密二进制文件(图像)的主要内容,如果未能解决你的问题,请参考以下文章