AES是一个对称分组密码算法,旨在取代DES成为广泛使用的标准。根据使用的密码长度,AES最常见的有3种方案,用以适应不同的场景要求,分别是AES-128、AES-192和AES-256。本文主要对AES-128进行介绍,另外两种的思路基本一样,只是轮数会适当增加。本篇将介绍如何使用java实现AES加、解密操作。
前期准备工作(包括相关工具或所使用的原料等)myeclipse2014 详细的操作方法或具体步骤
首先我们需要自行安装配置java开发环境,并安装myeclipse软件。然后打开软件在顶部导航处点击File,然后选择New,然后选择Java Project,进入创建java项目的窗口。具体操作如下图所示。

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

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

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

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

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

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

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

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

注意事项以上是本人对AES加密的理解以及代码实现,如帮到大家本人非常高兴。经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本教程系本人依照真实经历原创,未经许可,谢绝转载。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
