如何安全的加密传输大文件数据
在日常对数据处理的过程中,数据加密已经时很常见的问题了,一般的数据加密有哪些呢:RSA、MD5、AES、Base64等;
RSA:
是公开**系统的代表;
安全性:建立在具有大素数因子的合数,其因子分解困难这一法则之上;
处理速度慢;
**管理:加解密过程中不必网络传输保密的**;**管理优于AES算法;
RSA加解密速度慢,不适合大量数据文件加密;
AES:
Rijndael算法是新一代的高级加密标准,运行时不需计算机有非常高的处理能力和大的内存;
操作可以很容易的抵御时间和空间的攻击,在不同的运行环境下始终保持良好的性能;
AES**长度:最长只有256bit,可用软件和硬件实现高速处理;
**管理:要求在通信前对**进行秘密分配,解密的私钥必须通过网络传送至加密数据接收方;
AES加密速度很快;
md5:
md5加密不可逆,所以它的安全度比较高,不管多大的字符串,它都能生成32位字符串,
md5加密速度非常快;
Base64:
不是加密算法,只是用来编码字节数组,形成字符串的,并提供了解码功能。
在针对平时不需要解密的一般用MD5就好,一般安全性不太高的用Base64就好,安全性又要求,并且需要快的就用AES,安全性非常高的就用RSA,
今天我们要解决的问题是‘如何安全的加密传输大文件数据’;这边首先是一个安全性要求很高的,那就需要用RSA,这边又是大文件,如果用RSA性能上可能有问题,文件需要是可以解密的,MD5肯定就不行,用AES加密可逆,但是AES加密是基于**的,如果**泄露,安全性也得不到保障,这个时候怎么办呢。
我们可以选用RAS+AES,如下图:
我们可以在客户端随机生成一个AES秘钥,通过RSA加密,然后在通过随机的秘钥将文件通过AES加密。