vue针对文件进行加密

前端vue利用aes对称密钥去加密txt文件,需要分块进行加密吗?
如果分块加密后,为什么解密会显示出来乱码?

需要分块进行加密,否则可能由于明文分块过大而导致加密失败或程序崩溃,乱码可能是编码格式不一致,加密解密的秘钥不同、快大小不一致等导致

chatgpt:不喜勿喷
较大的文本文件,建议使用分块加密来加密和解密
AES 对称加密的分组大小为 128 位,即 16 字节。因此,如果明文长度不是 16 的倍数,则需要在末尾填充一些数据,使其成为 16 的倍数。填充时可以使用 PKCS#7 填充方式。

在加密时,应该将明文分成多个块,每个块的长度为 16 字节。对于最后一个块,如果长度不足 16 字节,则需要进行填充。然后,使用相同的密钥和初始向量 (IV) 对每个块进行 AES 加密。最后,将加密后的块连接在一起,形成加密后的文件。

在解密时,应该先将加密后的文件分成多个块,每个块的长度为 16 字节。然后,使用相同的密钥和初始向量对每个块进行 AES 解密。最后,将解密后的块连接在一起,去掉填充数据,就得到了原始的明文文件。

如果解密后的文件显示为乱码,可能是由于以下原因之一:

密钥或 IV 不正确:在加密和解密时,必须使用相同的密钥和 IV。如果密钥或 IV 不正确,则无法正确解密。
填充方式不正确:在加密和解密时,必须使用相同的填充方式。如果填充方式不正确,则无法正确解密。
文件格式不正确:如果加密或解密的文件格式不正确,则无法正确解密。例如,如果在加密时将文件转换为了 Base64 格式,但在解密时没有将其转换回原始格式,则无法正确解密。

解密的时候密钥和块顺序对吗

  • 这篇博客: vue前后端AES对称加密解密算法中的 AES算法的使用很简单,但常遇到前后端算法不匹配问题,这是个问题。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 题外话:十多年没来了,最近没事,学习研究vue-springboot前后端分离技术。涉及到一些常见问题,网上一大堆,但很多说的不清楚,要么没经过实际验证。或者没说完整。今天就以这个由头开始,写写博客吧。
    另外,代码里面参考了网上有些人的帖子甚至代码。由于看得比较多,不记得是谁的了。如果作者看到了,给我留言,我添加上去即可。得罪了。