备用,参考自【DES、AES、RSA的区别】
加密一般分为可逆加密和不可逆加密,其中可逆加密一般又分为对称加密和非对称加密,以下为常用加密算法:
BASE64
编码方式(8位字节代码),常用于二进制与字符串相互转换 。
MD5——Message Algorithm(消息摘要算法第五版)
散列函数(哈希算法),常用于单向数据加密,特点:不可逆,压缩性。
DES——Data Encrytion Standard(数据加密标准)
对称加密算法的代表,加密解密都是由一个密钥完成的。对应算法是DEA,特点:
- 对称加密;
- 同一个SK,不应该对第三方公开,一旦泄漏,前后台数据容易被解译。
AES——Advanced Encrytion Standard(高级加密标准)
新一代的高级加密标准,运行时不需计算机有非常高的处理能力和大的内存,特点:
- 操作可以很容易的抵御时间和空间的攻击,在不同的运行环境下始终保持良好的性能;
- 对称加密;
- 最长只有256bit,可用软件和硬件实现高速处理;
- 一个SK扩展成多个子SK,轮加密;
- 加密速度快。
RSA
是公开密钥系统的代表,特点:
- 非对称加密,即:PK与SK不是同一个;
- PK用于加密,SK用于解密;
- PK决定SK,但是PK很难算出SK(数学原理:基于两个大质数相乘,积很难因式分解的法则);
- 加解密过程中不必网络传输保密的密钥;密钥管理优于AES算法;
- 加解密速度慢,不适合大量数据文件加密,适用只对少量数据加密。
可考虑AES RSA组合方案,RSA传输AES密钥,再通过AES加解密。