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

六 应用场景

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chengqiuming/article/details/78746087

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

package com.soufun.com; import java.io.UnsupportedEncodingException; import java.security.InvalidKey...
  • QH_JAVA
  • QH_JAVA
  • 2015-08-17 23:49:22
  • 1913

AES对称加密算法扫盲

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

对称加密算法AES 工具类,拿来可用

package com.xiaojukeji.visitor.common.util; import java.io.UnsupportedEncodingException; import jav...
  • qq_23167527
  • qq_23167527
  • 2017-11-30 11:24:54
  • 120

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

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

python AES对称加密示例

基本概念: 高级加密标准(英语:Advanced Encryption Standard,缩写:AES) 注意点: 1.字符集处理 2.秘钥的生成,建议按照某种规则产生,比如对用户id进行一定规则...
  • daiyudong2020
  • daiyudong2020
  • 2017-03-14 23:42:00
  • 1832

Java 加密 AES 对称加密算法

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

对称加密算法AES的实现

  • 2011年11月16日 18:30
  • 95KB
  • 下载

对称加密算法(AES)

直接贴代码: package com.starv.addviewtoactivity; import org.apache.commons.codec.binary.Base64; import...
  • weizhiiceboy3
  • weizhiiceboy3
  • 2016-07-19 17:07:51
  • 186

Openssl aes对称加密算法 加解密例程

假设我们已经下载了 openssl的源码,并成功编译,设置好了编程环境。 我们现在来看看如何调用openssl的API。 openssl对aes加密算法进行了良好的封装,调用接口简单明了,...
  • itmes
  • itmes
  • 2012-07-04 13:23:30
  • 5209

对称加密算法-AES算法(高级数据加密标准)

一、简述  DES的不安全性以及DESede算法的低效,催生了这个AES算法(advanced Encryption Standard)。这个算法比DES要快,安全性高。密钥建立时间段、灵敏性好、内存...
  • kongqz
  • kongqz
  • 2011-03-29 21:47:00
  • 11957
收藏助手
不良信息举报
您举报文章:JAVA-对称加密算法AES
举报原因:
原因补充:

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