AES算法
-
简介
- 随着软硬件技术的发展,多核CPU、分布式计算、量子计算机等理论的出现,DES在穷举方式的暴力攻击下还是相当脆弱的,因此很多人想办法用某种算法替代它,于是有了AES算法。尽管在AES之前,还有3DES,但是3DES效率非常低下。
- AES叫高级加密标准,该标准是美国国家标准技术研究所于2001年颁布的。AES旨在取代DES成为广泛使用的标准,2006年成为最流行的对称加密算法。
- AES分组大小为128位,密钥长度为128、192、256bit。最简单最常用的也就是128bit的秘钥。
-
原理较为复杂但代码实现较为简单,主需要把密码设置为16字节,然后将DES算法实现的java代码中,将DES修改为AES即可。
import javax.crypto.*; import javax.crypto.spec.SecretKeySpec; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; public class AesDemo { public static void main(String[] args) { /** * 1.明文 * 2.提供原始秘钥 长度64位,8个字节 */ String clearText ="hello"; String originKey ="12345678"; try { String cipherText = desEncrpt(clearText,originKey); System.out.println(cipherText); String clearText