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

Java和C#交叉加密解密方法(DES)(二)

    博客分类:
  • C#
阅读更多
接着Java和C#交叉加密解密方法(DES)(一):

C#代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Security.Cryptography;
using System.Configuration;   
using System.Web;  
using System.IO;

namespace DES
{
    public partial class Form1 : Form
    {
        private string DES_Key = "20100728";  

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string jiami = textBox3.Text;
            this.textBox1.Text = DESEnCode(jiami);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            string jiemi = textBox1.Text;
            textBox2.Text = DESDeCode(jiemi);
        }

        #region DESEnCode DES加密
        public string DESEnCode(string pToEncrypt)
        {   
            DESCryptoServiceProvider des = new DESCryptoServiceProvider();
            byte[] inputByteArray = Encoding.GetEncoding("UTF-8").GetBytes(pToEncrypt);
  
            des.Key = ASCIIEncoding.ASCII.GetBytes(DES_Key);
            des.IV = ASCIIEncoding.ASCII.GetBytes(DES_Key);
            MemoryStream ms = new MemoryStream();
            CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);

            cs.Write(inputByteArray, 0, inputByteArray.Length);
            cs.FlushFinalBlock();

            StringBuilder ret = new StringBuilder();
            foreach (byte b in ms.ToArray())
            {
                ret.AppendFormat("{0:X2}", b);
            }
            ret.ToString();
            return ret.ToString();
        }
        #endregion

        #region DESDeCode DES解密
        public string DESDeCode(string pToDecrypt)
        {  
            DESCryptoServiceProvider des = new DESCryptoServiceProvider();

            byte[] inputByteArray = new byte[pToDecrypt.Length / 2];
            for (int x = 0; x < pToDecrypt.Length / 2; x++)
            {
                int i = (Convert.ToInt32(pToDecrypt.Substring(x * 2, 2), 16));
                inputByteArray[x] = (byte)i;
            }

            des.Key = ASCIIEncoding.ASCII.GetBytes(DES_Key);
            des.IV = ASCIIEncoding.ASCII.GetBytes(DES_Key);
            MemoryStream ms = new MemoryStream();
            CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
            cs.Write(inputByteArray, 0, inputByteArray.Length);
            cs.FlushFinalBlock();

            StringBuilder ret = new StringBuilder();

            return System.Text.Encoding.UTF8.GetString(ms.ToArray());
        }
        #endregion

    }
}


经过测试,可运行!附件为C#的打包文件。下载到本地运行后可以与上一篇Java的加密解密结果互相调试,得到一致的结果。
  • DES.zip (31.9 KB)
  • 下载次数: 31
分享到:
评论

相关推荐

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

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

    java和C#通用des3加解密

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

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

    本话题主要关注如何在C#和Java之间通过RSA和DES加密算法实现数据的安全互通。RSA是一种非对称加密算法,适用于小量数据加密,如密钥交换;而DES是对称加密算法,适合大量数据的快速加密,但安全性相对较低。 首先,...

    C# DES加密解密

    综上所述,C#中的DES加密解密涉及到理解DES算法原理、使用`System.Security.Cryptography.DES`类、设置密钥和初始化向量、执行加密和解密操作等步骤。在实际项目中,需要根据需求选择合适的加密算法并注意安全问题。

    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平台通用DES

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

    java c# des加密解密

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

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

    压缩包中的"环境说明.txt"可能是关于开发环境或运行环境的说明,"VB_DES"和"C_DES"可能是VB.NET和C#的DE解密示例代码,而"HTML代码"则可能包含了前端JavaScript进行DES加密的示例。在实际项目中,这些文件会提供详细...

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

    本项目"文件加密解密(完整项目)"专注于利用C#进行文件的安全处理,确保数据在传输和存储时的隐私性。 一、C#加密技术基础 C#中实现文件加密主要依赖于.NET Framework提供的加密类库,如System.Security....

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

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

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

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

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

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

    C#加密解密DeEncryptHelper.zip

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

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

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

    C#des对文件进行加密解密

    总的来说,使用C#和DES进行文件加密解密是一个涉及多个步骤的过程,包括创建加密对象、设置密钥和IV、创建流对象、创建加密或解密流、读写文件以及关闭流。在现代安全需求下,虽然DES可能不是最安全的选择,但理解其...

    C#_加密解密类_DES_3DES_MD5

    ### C#中的加密解密类:DES、3DES与MD5 #### 一、概述 在C#中,实现数据加密解密的功能是确保信息安全的关键技术之一。本篇将详细介绍如何利用C#来实现DES(Data Encryption Standard)、3DES(Triple Data ...

Global site tag (gtag.js) - Google Analytics