多语言展示
当前在线:823今日阅读:19今日分享:20

AES加密介绍以及如何用java实现

AES是一个对称分组密码算法,旨在取代DES成为广泛使用的标准。根据使用的密码长度,AES最常见的有3种方案,用以适应不同的场景要求,分别是AES-128、AES-192和AES-256。本文主要对AES-128进行介绍,另外两种的思路基本一样,只是轮数会适当增加。本篇将介绍如何使用java实现AES加、解密操作。
工具/原料

myeclipse2014

方法/步骤
1

首先我们需要自行安装配置java开发环境,并安装myeclipse软件。然后打开软件在顶部导航处点击File,然后选择New,然后选择Java Project,进入创建java项目的窗口。具体操作如下图所示。

2

然后我们在java项目创建界面,首先输入项目名称:AESJDKUtil,然后选择JRE环境,本篇中选择JDK7,选择完毕后点击Finish,完成java项目的创建。具体操作如下图所示。

3

然后我们打开项目,右击项目src目录,然后选择New,然后选择Class,进入创建java实体类界面。具体操作如下图所示。

4

然后在创建实体类界面,首先我们填写包名称:com.util,然后填写类名称:AESUtil,然后勾选自动生成main函数。以上操作完毕后,点击Finish,完成实体类的创建。具体操作如下图所示。

5

由于本项目中加密后的信息为byte数组,不便于输出查看,我们首先编写将byte数组转化为16进制字符串输出的函数,本篇中函数名称为:convertByteToHexString。具体操作如下图所示。

6

然后我们编写实现AES加密的方法体,实现AES的加密主要使用了javax.crypto.Cipher的方法。本篇中实现方法名称为:AESJDKEncode,需要传入要加密的信息以及密钥两个参数。具体代码实现如下图所示。

7

然后我们编写实现AES解密的方法体,实现解密操作同样主要使用了javax.crypto.Cipher对象的方法,本篇中实现的方法名称为:AESJDKDecode,需要传入的参数为待解密的byte数组,以及密钥两个参数。具体代码实现如下图所示。

8

然后我们在主函数main函数内编写测试方法,首先我们定义原始消息为:Hello AES,然后定义加密密钥为:312312,然后调用编写好的加密/解密方法,同时将加密/解密后的结果输出。具体代码实现如下图所示。

9

最好我们执行程序,查看加密/解密后的结果。可以看到经过加密/解密操作后,仍还原为:Hello AES。至此,本篇教程完成。

注意事项

以上是本人对AES加密的理解以及代码实现,如帮到大家本人非常高兴。

推荐信息