CryptoJS AES增加文件大小

时间:2015-07-08 17:10:15

标签: encryption aes cryptojs sjcl

感谢您的帮助。

我的sjcl库或cryptojs aes库有问题。 每次我使用aes加密我的文件,文件大小为* 2。 例如:当我上传4mb文件时,我的服务器上有一个8mb文件。

我将文件拆分为块,其中bytesize可以除以16。

请帮帮我

这是我加密文件的方式:

var l_EncryptetData = CryptoJS.AES.encrypt(p_ChunkData, p_FileKey).toString();

这是一个示例数组,块大小来自4mb文件:

0: 1572864
1: 1572864
2: 867005
length: 3

FileKey是一个SHA-256哈希

1 个答案:

答案 0 :(得分:2)

您正在将密码输出(CipherParams对象)转换为字符串。默认情况下,CryptoJS通过以十六进制表示结果来完成此操作,其中每个字节编码为两个十六进制数字。您可以通过提供custom format strategy.或更好的方式覆盖此行为,不要将密文转换为字符串;将它保存为二进制数据。

请警告用户您的应用程序不安全。