`
dacoolbaby
  • 浏览: 1262502 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Java实现DES加密算法

    博客分类:
  • Java
阅读更多

常用的对称加密算法DES算法。

在Java中有一个工厂类里面存放着各种常用的加密算法,我们通过实例化DES算法来实现DES加密。

 

Java代码示例:

import java.security.SecureRandom;

import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;

public class DEStest {

	public byte[] desCrypto(byte[] datasource, String password) {
		try {
			SecureRandom random = new SecureRandom();
			DESKeySpec desKey = new DESKeySpec(password.getBytes());
			// 创建一个密匙工厂,然后用它把DESKeySpec转换成
			SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
			SecretKey securekey = keyFactory.generateSecret(desKey);
			// Cipher对象实际完成加密操作
			Cipher cipher = Cipher.getInstance("DES");
			// 用密匙初始化Cipher对象
			cipher.init(Cipher.ENCRYPT_MODE, securekey, random);
			// 现在,获取数据并加密
			// 正式执行加密操作
			return cipher.doFinal(datasource);
		} catch (Throwable e) {
			e.printStackTrace();
		}
		return null;
	}

	public byte[] decrypt(byte[] src, String password) throws Exception {
		// DES算法要求有一个可信任的随机数源
		SecureRandom random = new SecureRandom();
		// 创建一个DESKeySpec对象
		DESKeySpec desKey = new DESKeySpec(password.getBytes());
		// 创建一个密匙工厂
		SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
		// 将DESKeySpec对象转换成SecretKey对象
		SecretKey securekey = keyFactory.generateSecret(desKey);
		// Cipher对象实际完成解密操作
		Cipher cipher = Cipher.getInstance("DES");
		// 用密匙初始化Cipher对象
		cipher.init(Cipher.DECRYPT_MODE, securekey, random);
		// 真正开始解密操作
		return cipher.doFinal(src);
	}

	public static void main(String[] args) {
		DEStest des = new DEStest();

		// 待加密内容
		String str = "测试内容";
		// 密码,长度要是8的倍数
		String password = "12345678";
		byte[] result = des.desCrypto(str.getBytes(), password);
		System.out.println("加密后内容为:" + new String(result));

		// 直接将如上内容解密
		try {
			byte[] decryResult = des.decrypt(result, password);
			System.out.println("解密后内容为:" + new String(decryResult));
		} catch (Exception e1) {
			e1.printStackTrace();
		}
	}

}

 

分享到:
评论

相关推荐

    JAVA实现des加密算法 实例

    在Java中,我们可以使用`javax.crypto`包中的类来实现DES加密。以下将详细介绍如何在Java中实现DES加密,并提供一个实例。 首先,理解DES算法的基本原理: DES是一种块密码,它将明文分为64位的数据块进行加密,...

    利用JAVA实现DES加密算法

    虽然如此,在某些简单应用中,我们还是可以使用DES加密算法,本文简单讲解DES的JAVA实现。 JAVA实现加密代码有详细解释,不多废话。注意:DES加密和解密过程中,密钥长度都必须是8的倍数 代码如下: public byte[] ...

    使用java自带des加密算法实现文件加密和字符串加密

    主要介绍了使用java自带des加密算法实现文件加密和字符串加密的示例,需要的朋友可以参考下

    DES加密算法JAVA实现(带简单界面)

    在项目中,"杨叶龙+13051067+第二次作业+DES加密算法"可能是文件的命名规范,其中包含了学生的姓名、学号以及作业主题,表明这是一个学生的学习成果,可能包含源代码、编译后的JAR文件以及相关的文档。 在实际应用...

    Java 3des加密算法ECB模式

    Java 3des加密算法ECB模式,亲测完美通过。目前网上的大部分算法都通不过或者加进Base64之类的,还要不下载其它jar包。而代码使用时直接下载运行,无须配置和下载额外的jar包 ,只需换上自己的密钥和待加密的数据...

    用Java实现的DES加密算法

    本程序是java语言实现的DES加密算法的实例。

    Java实现文件的RSA和DES加密

    4. Java 中的实现:在 Java 中,实现 DES 加密算法可以通过生成一对密钥,然后保存到 xml 文件中,以便以后获取私匙和公钥。文件加密可以通过使用 Cipher 对象来实现。 5. 密钥管理:对称加密算法的密钥管理是一个...

    DES_DES加密算法JAVA实现_

    以下是Java实现DES加密算法的基本步骤: 1. **密钥生成**: 首先,我们需要生成一个DES密钥。在Java中,可以使用`KeyGenerator`类来生成密钥。例如: ```java KeyGenerator keyGen = KeyGenerator.getInstance(...

    JAVA实现DES加密

    在Java中实现DES加密,我们可以按照以下步骤进行。 首先,让我们理解DES算法的基本原理。DES是一种分组密码,它将明文数据分为64位的数据块进行处理。但是,实际的DES算法只使用了56位的密钥,因为其中8位是奇偶...

    java实现DES

    "java实现DES加密算法" Java实现DES(Data Encryption Standard)加密算法是一种对称加密算法,该算法使用Feistel网络结构,通过分组网络和子密钥生成来实现加密和解密。下面是Java实现的DES加密算法的知识点: ...

    基于java实现的des算法

    DES算法是一个复杂的加密算法,实现它需要具备一定的编程经验和加密知识。 标签:DES算法 这个标签表明了这个Java程序的主要功能是实现DES算法。 部分内容 在部分内容中,我们可以看到作者实现了DES算法的几个...

    Java AES DES加密算法的坑

    总结来说,理解和正确使用Java中的AES和DES加密算法,需要考虑密钥管理、初始化向量、填充模式、编码以及错误处理等多个方面,同时要关注加密过程中的安全风险和潜在陷阱。在实践中,结合合适的加密库和最佳实践,...

    java版DES加密算法

    实现了Des字符串,加密解密,java版本的,java源代码

    DES加密算法JAVA代码

    ### DES加密算法JAVA代码知识点详解 #### 一、概述 数据加密标准(Data Encryption Standard,简称DES)是一种广泛使用的对称密钥加密技术。在Java中实现DES加密解密功能通常涉及以下几个关键类:`javax.crypto....

    用java实现des加密

    Java DES加密是一种在Java编程环境中实现的对称加密算法,主要用来保护数据的安全性。DES(Data Encryption Standard)是早期广泛使用的一种加密标准,虽然现在已经被更安全的AES(Advanced Encryption Standard)所...

    JAVA实现RSA、DES加密

    JAVA 实现 RSA、DES 加密是密码学中的一种重要实现,通过 JAVA 语言实现 RSA 非对称加密算法和 DES 对称加密算法。以下是对 JAVA 实现 RSA、DES 加密的详细知识点: 一、基础知识 现代密码技术可以分为两类:对称...

    js与java des加密

    本篇文章将详细探讨 JavaScript 和 Java 实现 DES 加密算法,并讨论如何在两者之间实现互通。 **DES 算法介绍** DES 是一种块加密算法,使用了 64 位的数据块和 56 位的密钥。它通过一系列复杂的数学运算(包括...

    DES加密算法JAVA实现

    ### DES加密算法JAVA实现 #### 一、目的与意义 随着信息技术的快速发展,信息安全变得尤为重要。无论是政府机构、企业还是个人用户,都需要确保敏感信息不被未经授权的人访问。在这种背景下,密码学作为保障信息...

    DES.rar_DES JAVA_DES algorithm_DES 加密算法_DES加密算法_des ja

    在"DES.rar_DES JAVA_DES algorithm_DES 加密算法_DES加密算法_des ja"这个压缩包中,很可能包含了一个完整的Java实现的DES加密算法示例,包括源代码文件"DES.java",可能用于教学、学习或项目开发,以便开发者能够...

    des加密算法的JAVA 实现

    在Java中实现DES加密和解密并不复杂,主要涉及到`javax.crypto`包中的类。下面我们将详细介绍如何使用JAVA来实现DES算法: 1. 导入必要的库: ```java import javax.crypto.Cipher; import javax.crypto.SecretKey;...

Global site tag (gtag.js) - Google Analytics