转自:http://blog.youkuaiyun.com/wgw335363240/article/details/8878584
一、AES(DES的升级版)(对称加密)执行时间
[1] 测试数据
这里以读取纯文本文件,一行一行的方式对字符串进行加密,并把加密后的内容存储到另外一个文件中,计算文件的加密时间。待文件加密完成后,同样通过一行一行的方式读取加密内容并解密,把解密后的文件存储到解密文件中。
注:在测试大文件时,需要在虚拟机中增加配置(-Xmx1535M -Xms1536M)设置内存大小
序号 |
原文件大小(M) |
加密后文件大小(M) |
加密用时(秒) |
解密用时(秒) |
1 |
1.639 |
3.335 |
0 |
0 |
2 |
3.278 |
6.669 |
0 |
1 |
3 |
6.556 |
13.338 |
1 |
2 |
4 |
13.111 |
26.676 |
3 |
5 |
5 |
26.226 |
53.351 |
6 |
11 |
6 |
52.441 |
106.701 |
12 |
23 |
7 |
104.882 |
213.401 |
23 |
内存溢出(需要调整为按照字节去解析) |
8 |
209.763 |
426.801 |
47 |
内存溢出内存溢出(需要调整为按照字节去解析) |
9 |
839.051 |
1707.204 |
203 |
内存溢出内存溢出(需要调整为按照字节去解析) |
10 |
1048.813 |
2134.005 |
255 |
内存溢出内存溢出(需要调整为按照字节去解析) |
[2] 结论
1) AES加密的时间与被加密文件的大小正线性增长,加密1G的文件大概需要4分多钟,加密速度还是很快的
2) 加密后的文件大小是原始文件大小的两倍
3) 解密文件所需时间是加密时间的两倍(这个应该是加密文件是原始文件大小两倍造成的)
二、RSA(非对称加密)执行时间
[1] 测试数据
这里以读取到的文本内容,并对该内容进行RSA加密,加密后的内容存储到一个文件,然后,再根据RSA的私钥对加密内容进行解密。下面是测试的时间:
注:在测试大文件时,需要在虚拟机中增加配置(-Xmx1535M -Xms1536M)设置内存大小
序号 |
原文件大小(KB) |
加密后文件大小(KB) |
加密用时(秒) |
解密用时(秒) |
1 |
6 |
6 |
0 |
1 |
2 |
12 |
12 |
0 |
3 |
3 |
24 |
24 |
0 |
5 |
4 |
45 |
45 |
0 |
10 |
5 |
90 |
90 |
1 |
21 |
6 |
180 |
180 |
2 |
40 |
7 |
360 |
360 |
2 |
98 |
8 |
720 |
721 |
2 |
165 |
9 |
1440 |
1440 |
5 |
325 |
[2] 结论
1) RSA加密算法加密时间很短,基本可以忽略不计。但是,在解密时,RSA显的比较匹配,解密时间与解密文件的大小呈现线性增长趋势。加密1M的文件大概需要5秒,但是解密却需要4分钟。
2) 加密后的文件与原始文件的大小基本相同
3) 解密的效率远低于加密效率,按照这个时间去计算,加密1G的文件需要1分钟,但是解密却需要65小时