DES加密介绍以及java实现

作者:滴水穿石 | 创建时间: 2023-05-05
DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法。其是一种对称加密算法,所谓对称加密算法即:加密和解密使用相同密钥的算法。DES加密算法出自IBM的研究,后来被美国政府正式采用,之后开...
DES加密介绍以及java实现

操作方法

首先我们需自行配置自己电脑的java开发环境并安装myeclipse软件。然后点击导航窗口的File,然后选择New,然后选择Java Project。选择完成后点击,即可进入创建java项目界面。具体操作如下图所示。

在创建项目界面,首先我们填写项目名称:DESJDKUtil,然后选择JRE环境本篇选择为jdk7,以上操作完毕后点击Finish,完成java项目的创建。

然后我们打开项目,选择项目,右击在弹出选项内选择New,然后选择Class。进行java实体类的创建。具体操作如下图所示。

在实体类创建界面,我们首先输入本类所在的包:com.util,然后填写类名称:DESUtil,然后勾选自动生成main方法,最后点击Finish完成实体类的创建。

实体类创建完毕后,我们接下来在实体类内编写我们本次教程需要的代码。首先我们编写一个将byte数组转换为16进制数据输出的函数。此教程内函数名称为:convertByteToHexString,具体实现如下图所示。

接下来我们编写实现DES加密的方法,本教程内方法名称为:jdkDECENcode,DES的加密方法主要利用了SecretKeyFactory生成密钥,以及Cipher类实现对消息的加密,最终返回结果为byte数组。具体操作如下图所示。

下面我们编写实现DES的解密方法,本教程方法名称为:jdkDECDecode,其核心同加密算法一样,都是生成了需要的SecretKey,调用Cipher类的方法实现。返回结果为byte数组,具体操作如下图所示。

然后我们在main方法内编写对DES加密方法解密方法的测试代码,首先定义要加密的信息为:hello des,然后定义密钥为:1234567812345678(注此处密钥长度必须为8的倍数)。然后分别调用写好的加密以及解密算法。具体实现如下图所示。

最后我们执行测试,通过测试结果我们可以看到加密后的信息,以及解密后还原为原始信息。具体展示如下图所示。

温馨提示

DES加密解密内需要传入的密钥字符串长度必须为8的倍数。
点击展开全文

更多推荐