`
Callan
  • 浏览: 736680 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

C# 加密 java解密 (DES)

    博客分类:
  • Java
阅读更多

C#中对数据进行加密,java对加密后的数据解密。

 

c# 加密

        const string KEY_64 = "flxmtdes";
        const string IV_64 = "flxmtIvS";

        public Security()
        {
            //
            // TODO: 在此处添加构造函数逻辑
            //
        }

        public static string Encode(string data)
        {
            byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);
            byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);

            DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
            int i = cryptoProvider.KeySize;
            MemoryStream ms = new MemoryStream();
            CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateEncryptor(byKey, byIV), CryptoStreamMode.Write);

            StreamWriter sw = new StreamWriter(cst);
            sw.Write(data);
            sw.Flush();
            cst.FlushFinalBlock();
            sw.Flush();
            return Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length);
        }

 

  java 解密

 

/**
	 * 解密
	 * 
	 * @param src 数据源
	 * @param key 密钥,长度必须是8的倍数
	 * @return 返回解密后的原始数据
	 * @throws Exception
	 */
	public String decrypt(String message) throws Exception {
		BASE64Decoder decoder = new BASE64Decoder();
		byte[] bytesrc = decoder.decodeBuffer(message);
		Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding"); 
		DESKeySpec desKeySpec = new DESKeySpec(PASSWORD_CRYPT_KEY.getBytes("UTF-8"));
		SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
		SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
		IvParameterSpec iv = new IvParameterSpec(IV.getBytes("UTF-8"));
		 
        cipher.init(Cipher.DECRYPT_MODE, secretKey, iv);   
   
        byte[] retByte = cipher.doFinal(bytesrc);  
        return new String(retByte);
		
	}

 

 

  • DES.rar (1.5 KB)
  • 描述: 源码
  • 下载次数: 185
3
2
分享到:
评论
2 楼 rustlingwind 2010-03-12  
你好,我试了一下你的代码。发现8位的密钥是没问题的。
但如果我把des的密钥设成32位,java可以正常加密,c#就报异常了,该如何解决?
1 楼 fxdfxd 2008-09-03  
对中文加密解密不行啊

相关推荐

    C#与JAVA平台通用DES

    C#与JAVA通用DES: 1、C#平台上的加密与解密 2、JAVA平台上的加密与解密 3、C#平台上的加密,能在JAVA平台上解密 4、JAVA平台上的加密,能在C#平台上解密 这个工具类,是基于平台的,不调用任何第三方软件,已经运用...

    C#和Java实现互通的RSA&DES加解密算法

    2. 加密过程:C#使用RSA公钥或DES密钥加密数据,Java接收并解密。 3. 解密过程:Java使用RSA私钥或DES密钥加密数据,C#接收并解密。 在实现过程中,还需要注意以下几点: - 对于RSA,确保使用相同的模数和指数进行...

    C# DES加密解密

    本篇文章将深入探讨C#中如何实现DES加密解密,并结合给出的链接资源进行详细解释。 1. **DES算法概述** DES是一种块加密算法,它使用56位的密钥对64位的数据块进行加密。虽然56位的密钥长度现在看来相对较短,但在...

    C#DES标准ECB加密解密示例源码

    C#DES标准ECB加密解密示例源码,根据标准的C改的源码,与网上所搜索到的完全不一样,可以支持中文为密钥的加密,也可以支持为中文字符串的加密,如,密钥为:替天行道,明文为:来自替天行道的C#DES标准ECB加密解密...

    DES加密DEMO(C#与JAVA)

    - **javax.crypto命名包**:JAVA中使用`javax.crypto.Cipher`类配合`DESKeySpec`和`SecretKeyFactory`实现DES加密解密。首先需要创建`DESKeySpec`对象,然后通过`SecretKeyFactory`生成`SecretKey`,再用`Cipher`...

    C#加密用JAVA解密

    在给定的场景中,"C#加密用JAVA解密"涉及到的是使用3DES(Triple Data Encryption Standard)加密算法在C#环境中对数据进行加密,然后在Java环境中进行解密。3DES是一种广泛应用的块密码,它基于DES(Data ...

    java和C#通用des3加解密

    标题中的“java和C#通用des3加解密”指的是在Java和C#这两种不同的编程语言中实现DES(Data Encryption Standard)的加强版——3DES(Triple DES)加解密算法。3DES是一种广泛使用的对称加密算法,通过三次应用DES的...

    DES加密方法JAVA和C#交叉加密解密代码

    DES加密方法JAVA和C#交叉加密解密代码

    c#加密解密(des 3des aes)

    本文将深入探讨C#编程语言中用于数据加密解密的三种主要算法:DES、3DES以及AES,并结合描述中的信息,为您提供关于这些算法的基础知识和如何在C#环境中实现它们。 **DES(Data Encryption Standard)** DES是一种...

    c#和java通用DES加密.docx

    在本文中,我们将探讨如何在C#和Java之间实现通用的DES加密和解密。C#和Java都提供了对DES算法的支持,但它们的实现略有不同。下面我们将详细解释C#和Java中的DES加密过程,并展示如何创建可互操作的加密类。 首先...

    C#加密解密DeEncryptHelper.zip

    MD5 单向加密 SHA1 单向加密 DES 双向,可解密 加密字符串 ...RSA加密解密及RSA签名和验证 RSA 的密钥产生 产生私钥 和公钥 RSA 方式加密 RSA的解密函数 获取Hash描述表 RSA签名 RSA 签名验证

    DES.zip_C#加密解密_DES字符串_Des 加密 解密_des_加密解密

    DES加密解密算法。通过密钥对对字符串进行加密解密操作,64位加密

    javascript前端DES加密,VB.NET、C#后端服务器解密

    标题中的"javascript前端DES加密,VB.NET、C#后端服务器解密"涉及到的是一个常见的安全实践,即在客户端(JavaScript)对敏感数据(如账号密码)进行加密,然后在服务器端(VB.NET或C#)进行解密,以保护数据在传输...

    C#加密解密,包括DES、MD5、SHA256

    根据给定文件的信息,我们可以总结出关于C#中几种常用加密...通过以上代码示例,我们了解了如何在C#中实现DES加密解密、MD5和SHA256散列函数。这些技术在实际开发中非常有用,尤其是在保护用户数据的安全性和隐私方面。

    java c# des加密解密

    ### Java与C#中的DES加密解密技术 #### 一、概述 在现代软件开发中,数据的安全性至关重要。为了确保数据在传输过程中的安全,加密技术被广泛应用。其中,数据加密标准(Data Encryption Standard,简称DES)是一...

    C#文件加密解密(完整项目)

    一、C#加密技术基础 C#中实现文件加密主要依赖于.NET Framework提供的加密类库,如System.Security.Cryptography命名空间下的各种加密算法。这些算法包括对称加密(如AES、DES、TripleDES)、非对称加密(RSA、DSA...

    c#加密解密源码

    本文将围绕"C#加密解密源码"这一主题,深入探讨C#中加密解密的基本原理、常用算法以及如何通过源代码实现。 1. 加密与解密基础 - 加密:将明文转换为密文的过程,目的是保护数据的安全,防止未经授权的访问。 - ...

    c++和c#同时实现DES加密解密算法

    在本文中,我们将深入探讨DES加密解密算法,并展示如何在C++和C#这两种编程语言中实现这一算法。 首先,理解DES的工作原理至关重要。DES算法主要由以下四个步骤组成:初始置换(IP)、密钥扩展、16轮Feistel网络和...

Global site tag (gtag.js) - Google Analytics