C#
EncryptString("42728ff2118430bdff5f9a189e0034ec","4;13pew*");
//DES加密
public string EncryptString(string sinputString, string Skey) {
byte[] data = Encoding.UTF8.GetBytes(sinputString);
DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
DES.Key = ASCIIEncoding.ASCII.GetBytes(Skey);
DES.IV = ASCIIEncoding.ASCII.GetBytes(Skey);
//DES.Mode = CipherMode.ECB;
DES.Mode = CipherMode.CBC;
DES.Padding = PaddingMode.PKCS7;//补位
ICryptoTransform desEncrypt = DES.CreateEncryptor();
byte[] result = desEncrypt.TransformFinalBlock(data, 0, data.Length);
return System.Convert.ToBase64String(result);
}
//////////////////////////////////////////////////////////////////////////////////
Java
//DES 解密
public static String decrypt(String data) throws IOException, Exception {
if (data == null)
return null;
BASE64Decoder decoder = new BASE64Decoder();
byte[] buf = decoder.decodeBuffer(data);
byte[] bt = decrypt(buf, KEY.getBytes("UTF-8"));
return new String(bt);
}
private static byte[] decrypt(byte[] data, byte[] key) throws Exception {
// 生成一个可信任的随机数源
IvParameterSpec iv = new IvParameterSpec(key);
// 从原始密钥数据创建DESKeySpec对象
DESKeySpec dks = new DESKeySpec(key);
// 创建一个密钥工厂,然后用它把DESKeySpec转换成SecretKey对象
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
SecretKey securekey = keyFactory.generateSecret(dks);
// Cipher对象实际完成解密操作
Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
// 用密钥初始化Cipher对象
cipher.init(Cipher.DECRYPT_MODE, securekey,iv);
return cipher.doFinal(data);
}
参照:http://www.cnblogs.com/Lawson/archive/2012/05/20/2510781.html
分享到:
相关推荐
DES加密/解密类成熟的加密解密类,适合项目开发,可以对于明文进行加密
- **javax.crypto命名包**:JAVA中使用`javax.crypto.Cipher`类配合`DESKeySpec`和`SecretKeyFactory`实现DES加密解密。首先需要创建`DESKeySpec`对象,然后通过`SecretKeyFactory`生成`SecretKey`,再用`Cipher`...
标题中的“java和C#通用des3加解密”指的是在Java和C#这两种不同的编程语言中实现DES(Data Encryption Standard)的加强版——3DES(Triple DES)加解密算法。3DES是一种广泛使用的对称加密算法,通过三次应用DES的...
C#与JAVA通用DES: 1、C#平台上的加密与解密 2、JAVA平台上的加密与解密 3、C#平台上的加密,能在JAVA平台上解密 4、JAVA平台上的加密,能在C#平台上解密 这个工具类,是基于平台的,不调用任何第三方软件,已经运用...
最近做一个接口,与JAVA的关于DES/CBC/PKCS5Padding 互相解密。在网上找了很多资料,摸索了3天才摸索出来。同样的明文,用JAVA加密的密文死活都跟用DELPHI加密的不相等,有时候少于8个字符的就正常,多了8个字符的就...
本话题主要关注如何在C#和Java之间通过RSA和DES加密算法实现数据的安全互通。RSA是一种非对称加密算法,适用于小量数据加密,如密钥交换;而DES是对称加密算法,适合大量数据的快速加密,但安全性相对较低。 首先,...
在本文中,我们将探讨如何在C#和Java之间实现通用的DES加密和解密。C#和Java都提供了对DES算法的支持,但它们的实现略有不同。下面我们将详细解释C#和Java中的DES加密过程,并展示如何创建可互操作的加密类。 首先...
DES加密/解密类。 加密 加密数据 解密 解密数据 得到随机安全码(哈希加密)。 得到随机哈希加密字符串 哈希加密一个字符串 RSA加密解密及RSA签名和验证 RSA 的密钥产生 产生私钥 和公钥 RSA 方式加密 RSA的解密...
本篇文章将深入探讨C#中如何实现DES加密解密,并结合给出的链接资源进行详细解释。 1. **DES算法概述** DES是一种块加密算法,它使用56位的密钥对64位的数据块进行加密。虽然56位的密钥长度现在看来相对较短,但在...
在C#中,可以使用.NET框架提供的`System.Security.Cryptography`命名空间内的类来实现DES加密解密。具体步骤如下: 1. **创建DES对象**:使用` DESCryptoServiceProvider`类创建一个DES加密服务提供者实例。你可以...
C#DES标准ECB加密解密示例源码,根据标准的C改的源码,与网上所搜索到的完全不一样,可以支持中文为密钥的加密,也可以支持为中文字符串的加密,如,密钥为:替天行道,明文为:来自替天行道的C#DES标准ECB加密解密...
DES加密方法JAVA和C#交叉加密解密代码
### Java与C#中的DES加密解密技术 #### 一、概述 在现代软件开发中,数据的安全性至关重要。为了确保数据在传输过程中的安全,加密技术被广泛应用。其中,数据加密标准(Data Encryption Standard,简称DES)是一...
标题中的"javascript前端DES加密,VB.NET、C#后端服务器解密"涉及到的是一个常见的安全实践,即在客户端(JavaScript)对敏感数据(如账号密码)进行加密,然后在服务器端(VB.NET或C#)进行解密,以保护数据在传输...
c#的3DES加密解密强制要求不能使用简单的密钥,这里按照3DES双倍长的算法原理,实现双倍长的加密解密
DESEncryption.java 文件很可能是这个项目的核心部分,包含了DES加密和解密的实现。通常,一个DES加密类会包含以下关键组件: 1. **密钥扩展**:DES的56位密钥需要经过一系列的扩展和置换操作,转换成48位的内部...
在提供的"Java、C#与PHP的DES加密互通代码(测试通过).txt"文件中,应该包含了示例代码和测试用例,演示了如何在这些环境中正确地进行DES加密并验证互通性。 总的来说,实现Java、C#和PHP之间的DES加密互通涉及...
标题中的“Delphi7与C#实现Des加解密互通Demo”指的是一个示例项目,该项目旨在演示如何在Delphi 7和C#之间进行DES加密和解密操作,确保两个环境下的数据一致性。全网找遍只此一份,表明这个示例可能比较罕见且具有...
C#提供了方便的API来实现DES加密和解密。本文将深入探讨如何使用C#进行DES加密和解密字符串,以及相关的重要知识点。 首先,DES是一种块加密算法,它以64位的数据块进行操作,其中实际有效密钥长度为56位。在C#中,...