//DES 加密类:
public class DES {
private static final String PASSWORD_CRYPT_KEY = "__jDlog_";
private final static String DES = "DES";
/**
* 加密/解密
*
* @param src
* 数据源
* @param key
* 密钥,长度必须是8的倍数
* @return 返回加密后的数据
* @throws Exception
*/
public static byte[] des(byte[] src, byte[] key, Mode type)
throws Exception {
// DES算法要求有一个可信任的随机数源
SecureRandom sr = new SecureRandom();
// 从原始密匙数据创建DESKeySpec对象
DESKeySpec dks = new DESKeySpec(key);
// 创建一个密匙工厂,然后用它把DESKeySpec转换成
// 一个SecretKey对象
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(DES);
SecretKey securekey = keyFactory.generateSecret(dks);
// Cipher对象实际完成加密操作
Cipher cipher = Cipher.getInstance(DES);
// 用密匙初始化Cipher对象
if (type.toString().equals(Mode.ENCRYPT.toString()))
cipher.init(Cipher.ENCRYPT_MODE, securekey, sr);
else
cipher.init(Cipher.DECRYPT_MODE, securekey, sr);
// 现在,获取数据并加密
// 正式执行加密操作
return cipher.doFinal(src);
}
public static void main(String[] args) throws Exception {
//加密
byte[] b = des("admin".getBytes(),"12345678".getBytes(),Mode.ENCRYPT);
//解密
b = des(b,"12345678".getBytes(),Mode.DECRYPT);
System.out.println(new String(b));
}
}
//MD5 加密:
public class MD5 {
public static String getMd5(String source) {
try {
MessageDigest messageDigest = MessageDigest.getInstance("MD5");
byte[] b = messageDigest.digest(source.getBytes("utf-8"));
BASE64Encoder base64en = new BASE64Encoder();
return base64en.encode(b);
} catch (Exception e) {
throw new RuntimeException("not support md5");
}
}
public static void main(String[] args) {
String result = MD5.getMd5("ISMvKXpXpadDiUoOSoAfww==");
System.out.println(result);
}
}
分享到:
相关推荐
在Windows Forms(Winform)环境中,我们可以创建一个简单的应用程序来实现DES加密和MD5加密的功能。DEncrypt.cs.txt和DEncrypt.Designer.cs是C#项目中的两个文件,其中DEncrypt.cs是主要的代码文件,包含了加密解密...
本文将详细介绍如何使用PB(PowerBuilder)进行MD5加密和DES加解密操作,并结合提供的DLL文件和PowerBuilder 9.0的调用例程来深入理解这些概念。 首先,MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数...
### C#中的加密解密类:DES、3DES与MD5 #### 一、概述 在C#中,实现数据加密解密的功能是确保信息安全的关键技术之一。本篇将详细介绍如何利用C#来实现DES(Data Encryption Standard)、3DES(Triple Data ...
在实际应用中,可以通过创建`Md5Encrypt`类的实例并调用其`Encrypt`方法来对字符串进行MD5加密。 ```java Md5Encrypt md = new Md5Encrypt(); String password = "your_password"; String encryptedPassword = md....
根据提供的文件信息,本文将重点解析与“.NET环境下实现DES及MD5加密”相关的知识点,包括.NET框架下的加密机制、DES算法实现以及MD5哈希算法的应用。 ### .NET环境下的加密机制 #### 1. .NET框架的安全类库 .NET...
本文将详细介绍"C#版 DES MD5加密解密测试工具"所涉及的关键技术:DES(Data Encryption Standard)加密、MD5(Message-Digest Algorithm 5)哈希算法,以及C#语言中的注册表读写操作。 首先,DES是一种古老的对称...
在这个名为“C#加密 DES MD5”的项目中,作者提供了一个C#编写的加密小工具,涵盖了文件加密、MD5散列以及DES对称加密等关键功能。下面我们将详细探讨这些知识点。 1. **MD5(Message-Digest Algorithm 5)**: MD...
标题中的"DES加密MD5校验.rar"是一个包含C#编程语言实现的DES对称加密和MD5校验功能的项目文件。这个压缩包可能是一个软件开发项目,用于教学、研究或实际应用中确保数据安全性的场景。让我们深入探讨DES加密和MD5...
本篇文章将详细讲解如何在C#中实现与Java的3DES加密以及MD5withRSA签名的对接。 3DES(Triple Data Encryption Algorithm)是一种对称加密算法,它使用了DES(Data Encryption Standard)算法三次,增强了加密强度...
### 常用MD5加密算法和3-DES加密算法Java实现 在现代软件开发过程中,数据的安全性变得越来越重要。对于数据传输和存储过程中的安全性保障,加密技术发挥着至关重要的作用。本文将详细介绍如何在Java环境中实现两种...
`EncodeTest`可能是包含示例代码或程序的文件,通常这样的文件会提供如何在VC++环境中实现MD5和DES/3DES加密的示例。这个文件可能包含了类定义、函数实现以及如何使用这些函数的代码片段,通过这些代码,你可以学习...
而"DES加密解密"虽然与MD5不直接相关,但DES(Data Encryption Standard)也是一种常用的加密算法,可能会作为对比或者补充出现在文档中,介绍传统的对称加密技术。 总的来说,这个压缩包内容对于理解和使用MD5在...
在这个主题中,我们将深入探讨"MFC vc6.0 RSA DES MD5 加密解密算法"的相关知识点。 首先,MFC是Visual C++的一个组件,它提供了一套类库,简化了Windows API的使用,使得开发者可以更高效地构建基于Windows的应用...
在ASP.NET中,我们可以使用System.Security.Cryptography命名空间下的MD5类来实现MD5加密。以下是一个简单的MD5加密示例: ```csharp using System; using System.Text; using System.Security.Cryptography; ...
在这个压缩包文件中,包含了关于使用DES(Data Encryption Standard)和MD5(Message-Digest Algorithm 5)两种加密算法对字符串及数据文件进行加密的相关资料。接下来,我们将深入探讨这两种加密算法及其在C#编程...
### MD5 RAS DES 加密算法详解 #### MD5算法:信息安全的守护者 MD5,全称为Message-Digest Algorithm 5,是由MIT的计算机科学实验室与RSA Data Security Inc.共同研发的一种散列函数,其设计目的是为了保障信息的...
在这个主题中,我们主要关注两种常见的加密算法:DES(Data Encryption Standard)和MD5(Message-Digest Algorithm 5)。这两个概念都是在C++环境下实现的,因此涉及到C++编程的知识点。 DES是一种对称加密算法,...
2. **创建加密服务提供者**:使用`DESCryptoServiceProvider`类创建一个DES加密服务提供者。 3. **创建流对象**:创建内存流(`MemoryStream`)、加密流(`CryptoStream`)和写入流(`StreamWriter`)。 4. **执行...
### 三、MD5与SHA256 #### 3.1 概述 MD5和SHA256都是散列函数,用于生成固定长度的摘要。MD5生成128位(16字节)的散列值,而SHA256生成256位(32字节)的散列值。 #### 3.2 特点 - **安全性**:SHA256相比MD5更...