DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法。其是一种对称加密算法,所谓对称加密算法即:加密和解密使用相同密钥的算法。DES加密算法出自IBM的研究,后来被美国政府正式采用,之后开始广泛流传,但是近些年使用越来越少,因为DES使用56位密钥,以现代计算能力24小时内即可被破解。虽然如此,在某些简单应用中,我们还是可以使用DES加密算法,本文简单讲解DES的JAVA实现。
前期准备工作(包括相关工具或所使用的原料等)myeclipse2014 详细的操作方法或具体步骤
首先我们需自行配置自己电脑的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的倍数。经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本教程系本人依照真实经历原创,未经许可,谢绝转载。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
