AES加密库的使用:

·根据AES密钥创建Secret密钥向量;

·生成初始化参数向量;

·获取AES Cipher;

·执行加密;

·Base64编码(建议)

程序运行截图如下:

调用如下:

public static void main(String[] args) throws UnsupportedEncodingException {String content = "123456";AES aes = new AES();byte[] encrypted = aes.encrypt(content);System.out.println(new String(encrypted));............
}

AES.java

package cn.it1995.tool;import javax.crypto.*;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;//AES没有公钥和私钥之分
public class AES {private SecretKey mKey;public AES(){try {KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");//创建随机密码,并设置种子SecureRandom secureRandom = new SecureRandom();secureRandom.setSeed(System.currentTimeMillis());//初始化密钥对象keyGenerator.init(128, secureRandom);mKey = keyGenerator.generateKey();}catch (NoSuchAlgorithmException e) {e.printStackTrace();}}public byte[] encrypt(String content){if(mKey == null){return new byte[]{-1};}try {Cipher cipher = Cipher.getInstance("AES");cipher.init(Cipher.ENCRYPT_MODE, mKey);return cipher.doFinal(content.getBytes());}catch (NoSuchAlgorithmException e) {e.printStackTrace();}catch (NoSuchPaddingException e) {e.printStackTrace();}catch (BadPaddingException e) {e.printStackTrace();}catch (IllegalBlockSizeException e) {e.printStackTrace();}catch (InvalidKeyException e) {e.printStackTrace();}return new byte[]{-1};}public byte[] decrypt(byte[] content){if(mKey == null){return new byte[]{-1};}try {Cipher cipher = Cipher.getInstance("AES");cipher.init(Cipher.DECRYPT_MODE, mKey);return cipher.doFinal(content);}catch (NoSuchAlgorithmException e) {e.printStackTrace();}catch (NoSuchPaddingException e) {e.printStackTrace();}catch (BadPaddingException e) {e.printStackTrace();}catch (IllegalBlockSizeException e) {e.printStackTrace();}catch (InvalidKeyException e) {e.printStackTrace();}return new byte[]{-1};}
}

Java笔记-对称加密AES的使用相关推荐

  1. Java加密算法—对称加密(DES、AES)

    目录 1.概述 2.加密模式 2.1 ECB 2.2 CBC 3.填充模式 4.对称加密.解密实现 1.概述 对称加密就是采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,也称为单密 ...

  2. java对称加密,java异或加密,Java高性能对称加密

    学过网络安全的可能知道加密可分为对称加密与非对称加密,比如大名鼎鼎的ssh.非对称加密有RSA,sm9等,对称加密有DES,sm4算法等,但是计算机基础比较扎实的可能知道一个值a与值b异或操作2次后可 ...

  3. 慕课网_《Java实现对称加密》学习总结

    时间:2017年4月11日星期二 说明:本文部分内容均来自慕课网.@慕课网:http://www.imooc.com 教学示例源码:https://github.com/zccodere/s... 个 ...

  4. 对称加密——AES算法使用

    对称加密 我们知道MD5加密的本质上是无法解密,是一个不可逆的过程,而网上有很多解密其实都是一种穷举法对比,根本不存在破解方法. 但是在业务中,很多时候存在解密的需要,这个时候我们可以采用对称加密,对 ...

  5. 编解码base64、对称加密aes和非对称加密rsa

    base64 :(兼容所有bit8位的字符,然后用64种字符进行转码,达到一致性) 意思就是:考虑到多语言原因,有的特殊字符传输不兼容,因为很多都是只支持ASSIC码,那么特殊字符就会找不到对应的AS ...

  6. java简单对称加密_聊聊java中的对称加密机制

    对数据的加密算是一个老生常谈的话题了,加密的方式很多,java也为这些加密算法提供了支持.今天就来聊聊对称加密算法的java实现方式.本文对加密算法不了解也没关系,我会从0开始讲解,保证小白也能看懂. ...

  7. 对称加密----AES和DES加密、解密

    目前主流的加密方式有:(对称加密)AES.DES        (非对称加密)RSA.DSA 调用AES/DES加密算法包最精要的就是下面两句话: Cipher cipher = Cipher.get ...

  8. java对称加密AES加入偏移量

    直接上demo package com.bee.ms.market.utils;import lombok.extern.slf4j.Slf4j;import javax.crypto.Cipher; ...

  9. Java实现对称加密算法-AES加解密

    AES(Advanced Encryption Standard)意思是高级加密标准,是一种区块加密标准.这个标准用来替代原先的DES,且已经被广泛使用. DES使用56位密钥,所以比较容易被破解. ...

最新文章

  1. AI一分钟 | 英伟达发布Tesla T4 GPU新品;腾讯发布《2018 年全球自动驾驶法律政策研究报告》...
  2. Prokka:快速原核基因组、宏基因组基因注释
  3. 动态生成treeview
  4. leetcode算法题--数值的整数次方
  5. CentOS7安装bbr的正确姿势:更新到7.3,安装elrepo官方4.9正式版
  6. photoshop最全快捷键列表
  7. (Matlab问题解决)运行matlab程序后,工作区不能显示变量
  8. 一个类可以实现多个接口吗_java中接口的概念
  9. informix长事务的处理方式
  10. 顺序表的简单操作代码(c++实现)
  11. Java高手速成│编写你第一个数据库程序
  12. 芯烨 XP-350b 打印机驱动
  13. 荣耀8 android8.0 2018,荣耀8青春版可升级Android 8.0+EMUI 8.0
  14. Arduino与Proteus仿真实例-HC-SRF04超声波测距仿真
  15. 学生来看我,我自我满足...........
  16. Bootstrap+web+Idea实现登录页面(含验证码)
  17. Win7计算机内存不足,请保存文件并关闭这些程序
  18. MyBatis课堂笔记
  19. 【程序人生】那些工作之外的技术挣钱方式
  20. 网络安全论文:浅析图书馆的网络安全

热门文章

  1. 第24周维生素市场最新动态
  2. SharePoint 2010 SP1更新发布
  3. @程序员,当你准备选择“这条路”,那么恭喜你,你的钱包可能要鼓了!
  4. WZ132发现打CXY要么是程序员,要么是丑小鸭
  5. 【转载】他是个残疾人 mynote V1.01发布
  6. 【转载】雨更大了的飞鸽传书
  7. 【转载】【程序员练级】提高英语阅读水平经验分享上篇
  8. 用VC++制作MSN、QQ 的消息提示窗口
  9. 经典面试题(28):以下代码将输出的结果是什么?
  10. 计算机扩展卡,对于电脑来说, 扩展卡是什么?与接口又有什么关系呢?