JAVA-对称加密算法AES

原创 2017年12月07日 21:32:21
一 简介
1、AES是目前使用最多的对称加密算法。
2、AES的优势之一是至今尚未被破解。
3、AES通常用于移动通信系统加密以及基于SSH协议(SSH Client、SecrueCRT)的软件。

二 特点
1、高级的
2、DES替代者

三 AES的参数说明

四 代码实现
package com.imooc.security.aes;

import java.security.Key;

import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;

import org.apache.commons.codec.binary.Base64;

public class ImoocAES {
	
	private static String src = "cakin24 security aes";

	public static void main(String[] args) {
		jdkAES();
	}
	
	public static void jdkAES() {
		try {
			//生成KEY
			KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");
			keyGenerator.init(128);
			SecretKey secretKey = keyGenerator.generateKey();
			byte[] keyBytes = secretKey.getEncoded();
			
			//key转换
			Key key = new SecretKeySpec(keyBytes, "AES");
			
			//加密
			Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
			cipher.init(Cipher.ENCRYPT_MODE, key);
			byte[] result = cipher.doFinal(src.getBytes());
			System.out.println("jdk aes encrypt : " + Base64.encodeBase64String(result));
			
			//解密
			cipher.init(Cipher.DECRYPT_MODE, key);
			result = cipher.doFinal(result);
			System.out.println("jdk aes desrypt : " + new String(result));
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

五 运行效果
jdk aes encrypt : lB/+Xc2e5FuiKliEW1ecFLR4Je1PRmsW5vCFSN9pqp4=
jdk aes desrypt : cakin24 security aes

六 应用场景

版权声明:本文为博主原创文章,未经博主允许不得转载。

AES 对称加密算法 加密\解密实例

package com.soufun.com; import java.io.UnsupportedEncodingException; import java.security.InvalidKey...
  • QH_JAVA
  • QH_JAVA
  • 2015年08月17日 23:49
  • 1793

AES对称加密算法扫盲

对称加密和分组加密中的四种模式(ECB、CBC、CFB、OFB) 一. AES对称加密:                                                      ...
  • jinxin_cuit
  • jinxin_cuit
  • 2017年05月22日 14:55
  • 758

DES 3DES AES Blowfish 对称加密算法比较

随着数据安全性要求的日益提升,我们越发需要将数据进行加密。在接下来的内容里,我将对比一些常用的对称加密算法:DES(Data Encryption),3DES(Triple DES),AES(Adva...
  • nightelve
  • nightelve
  • 2013年11月21日 19:11
  • 11737

Java 加密 AES 对称加密算法

【AES】 一种对称加密算法,DES的取代者。 加密相关文章见: 【代码】 代码比较多,有一部分非本文章内容代码,具体自己看吧。 package com.uikoo9.util.encrypt; ...
  • uikoo9
  • uikoo9
  • 2014年06月01日 20:38
  • 74459

TKIP和aes加密算法

TKIP和aes加密算法[转] TKIP  在IEEE 802.11i规范中,TKIP: Temporal Key Integrity Protocol(暂时密钥集成协议)负责处理无线安全问题的加密部...
  • jw212
  • jw212
  • 2010年08月27日 15:46
  • 14111

PHP对称加密算法(DES/AES)类

/** * 常用对称加密算法类 * 支持密钥:64/128/256 bit(字节长度8/16/32) * 支持算法:DES/AES(根据密钥长度自动匹配使用:DES:64bit AES:1...
  • u011650048
  • u011650048
  • 2016年02月22日 11:30
  • 2744

AES对称加密算法

加密解密,秘钥相同。 加密后得到的字节数组,不可以直接转成字符串,因为使用字符串转回字节数组的时候,字节数组发生变化。可以把字节数组使用算法转成十六进制字符串,解密时候先把十六进制字符串转成...
  • liangwenmail
  • liangwenmail
  • 2017年02月22日 18:06
  • 167

Imooc_JAVA实现对称加密3-1 JAVA-对称加密算法AES

原视频地址Imooc_JAVA实现对称加密3-1 JAVA-对称加密算法AESpackage AES;import java.security.Key; import java.security.Se...
  • jluzh04140717
  • jluzh04140717
  • 2016年12月04日 00:22
  • 147

对称加密算法AES

package com.imooc.security.aes; import java.security.Key; import java.util.Objects; import javax.c...
  • jamesge2010
  • jamesge2010
  • 2017年03月10日 16:05
  • 104

对称加密算法(AES)

直接贴代码: package com.starv.addviewtoactivity; import org.apache.commons.codec.binary.Base64; import...
  • weizhiiceboy3
  • weizhiiceboy3
  • 2016年07月19日 17:07
  • 177
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA-对称加密算法AES
举报原因:
原因补充:

(最多只允许输入30个字)