有两篇文章值得看一下:
https://blog.csdn.net/wgw335363240/article/details/8878584
结论:
1) AES加密的时间与被加密文件的大小正线性增长,加密1G的文件大概需要4分多钟,加密速度还是很快的
2) 加密后的文件大小是原始文件大小的两倍
3) 解密文件所需时间是加密时间的两倍(这个应该是加密文件是原始文件大小两倍造成的)
https://blog.csdn.net/woshiaotian/article/details/46990899
测试环境:
CPU 1 核 Intel 2.2GHZ
内存 1GB
算法 种类
对称加密算法 AES CBC 模式
非对称加密算法 RSA 256
加密明文长度为160 bytes
各运行10000次
from Crypto.Cipher import AES
import time
obj = AES.new('This is a key123', AES.MODE_CBC, 'This is an IV456')
message = 'a' * 160
t1 = time.time()
for i in xrange(10000):
ciphertext = obj.encrypt(message)
obj2 = AES.new('This is a key123', AES.MODE_CBC, 'This is an IV456')
text = obj2.decrypt(ciphertext)
#print text
t2 = time.time()
print t2 - t1
from Crypto.PublicKey import RSA
import time
t1 = time.time()
key = RSA.generate(2048)
t2 = time.time()
print 'gen key', t2 - t1
#print key
#print key.exportKey()
#print RSA.exportKey('PEM')
message = 'a' * 160
t1 = time.time()
for i in xrange(10000):
print i
ciphertext = key.encrypt(message, None)
key.decrypt(ciphertext)
t2 = time.time()
print t2 - t1
算法 耗时
对称加密算法 0.13
非对称加密算法 193.16
非对称加密算法生成密钥对 0.68
对称加密算法比非对称加密算法快大约1500倍
RSA 生成一个密钥都需要0.68秒, 可见对称加密算法比非对称加密算法有非常大得性能优势。