对称加密算法
对称加密算法就是传统的用一个密钥进行加密和解密,从程序的角度看,所谓加密,就是一个函数接受密码和明文,然后输出密文;而解密则相反,它接受密码和密文,然后输出明文。
在软件开发中,常用的对称加密算法有:
算法 | 密钥长度 | 工作模式 | 填充模式 |
DES | 56/64 | ECB/CBC/PCBC/CTR/... | NoPadding/PKCS5Padding/... |
AES | 128/192/256 | ECB/CBC/PCBC/CTR/... | NoPadding/PKCS5Padding/PKCS7Padding/... |
IDEA | 128 | ECB | PKCS5Padding/PKCS7Padding/... |
密钥长度直接决定加密强度,而工作模式和填充模式可以看成是对称加密算法的参数和格式选择。Java标准库提供的算法实现并不包括所有的工作模式和所有填充模式。
DES算法由于密钥过短,可以在短时间内暴力破解,所以下载已经不安全了
使用AES加密
AES算法是目前应用最广泛的加密算法。比较常见的工作模式是ECB和CBC
ECB模式
ECB模式是最简单的AES加密模式,它需要一个固定长度的密钥&#