一、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小时