谢谢您的帮助。
我有sjcl库或cryptojs aes库的问题。每次我用aes加密我的文件时,文件大小是* 2。例如:当我上传一个4mb的文件时,服务器上就会有一个8mb的文件。
我将文件分割成字节大小可以除以16的块。
请帮帮我
这是我加密文件的方式:
var l_EncryptetData = CryptoJS.AES.encrypt(p_ChunkData, p_FileKey).toString();
这是一个来自4mb文件的块大小的示例数组:
0: 1572864
1: 1572864
2: 867005
length: 3
FileKey是SHA-256哈希
您正在将密码输出(CipherParams
对象)转换为字符串。默认情况下,CryptoJS通过用十六进制表示结果来实现这一点,其中每个字节被编码为两个十六进制数字。您可以通过提供自定义格式策略来覆盖此行为。或者更好的是,不要将密文转换为字符串;保存为二进制数据。