`
leonardleonard
  • 浏览: 820314 次
社区版块
存档分类
最新评论

C#实现Des加密和解密

阅读更多
using System;
using System.IO;
using System.Security.Cryptography;

namespace Vavic
{
/// <summary>
/// Security 的摘要说明。
/// </summary>
public class Security
{
const string KEY_64 = "VavicApp";
const string IV_64 = "VavicApp"; //注意了,是8个字符,64位

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);

}

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

byte[] byEnc;
try
{
byEnc = Convert.FromBase64String(data);
}
catch
{
return null;
}

DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
MemoryStream ms = new MemoryStream(byEnc);
CryptoStream cst = new CryptoStream(ms,cryptoProvider.CreateDecryptor(byKey,byIV),CryptoStreamMode.Read);
StreamReader sr = new StreamReader(cst);
return sr.ReadToEnd();
}
}


 
分享到:
评论

相关推荐

    C# 用DES 加密和解密字符串

    C#提供了方便的API来实现DES加密和解密。本文将深入探讨如何使用C#进行DES加密和解密字符串,以及相关的重要知识点。 首先,DES是一种块加密算法,它以64位的数据块进行操作,其中实际有效密钥长度为56位。在C#中,...

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

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

    C#实现DES加解密完整类源码

    - C#提供了一套完整的加密API,位于`System.Security.Cryptography`命名空间下,包括DES类,用于实现DES加密和解密。 3. **创建DES对象**: - 使用`new DESCryptoServiceProvider()`来创建一个DES加密服务提供者...

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

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

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

    在C#中,可以使用.NET框架提供的`System.Security.Cryptography`命名空间内的类来实现DES加密解密。具体步骤如下: 1. **创建DES对象**:使用` DESCryptoServiceProvider`类创建一个DES加密服务提供者实例。你可以...

    Delphi7与C#实现Des加解密互通Demo,全网找遍只次一份

    标题中的“Delphi7与C#实现Des加解密互通Demo”指的是一个示例项目,该项目旨在演示如何在Delphi 7和C#之间进行DES加密和解密操作,确保两个环境下的数据一致性。全网找遍只此一份,表明这个示例可能比较罕见且具有...

    C# DES加密解密

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

    ASP.NET实现 DES加密解密类

    总之,ASP.NET中的DES加密解密涉及到对字符串数据的加密和解密,通过使用`DESCryptoServiceProvider`类,结合MD5哈希处理,实现了对数据的安全保护。尽管DES已不再是最安全的选择,但了解其原理和应用有助于理解加密...

    java和C#通用des3加解密

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

    c++ c#同时实现DES加密解密

    下面我们将深入探讨DES加密解密在C++和C#中的实现细节。 首先,在C++中实现DES加密解密,可以使用开源库如OpenSSL。OpenSSL提供了一套完整的加密工具,包括DES算法。以下是一个简单的示例: 1. 首先,需要包含...

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

    在本文中,我们将深入探讨如何在C++和C#这两种不同的编程语言中实现DES加密解密。 首先,让我们来看看C++中的实现。在C++中,我们可以使用如`openssl`库来实现DES功能。安装库后,我们需要包含必要的头文件,如`#...

    sql server 中进行des加密

    在给定的文件名"SQLEncryption"中,可能包含示例代码、数据库脚本或相关的教程资源,这些资源可以帮助你更好地理解和实现SQL Server与C#中的DES加密和解密功能。在实践中,确保遵循最佳安全实践,如定期更换密钥,...

    C#中DES加密解密(兼容前端网页在线DES加密解密).zip

    在IT行业中,数据安全是至关重要的,特别是在网络通信和存储敏感信息时。DES(Data Encryption Standard,数据加密标准...本压缩包“C#中DES加密解密(兼容前端网页在线DES加密解密)”包含的资源可能是一个C#实现的DE

    C#3DES加密解密

    总的来说,C#中的3DES加密解密是通过`TripleDESCryptoServiceProvider`类来实现的,它涉及到密钥的设置、初始化向量的选择、加密和解密流的创建等步骤。在实际项目中,确保正确管理和存储密钥至关重要,同时也要注意...

    C# 实现3des加密解密

    在这个场景中,我们关注的是使用C#语言实现的3DES(Triple Data ...综上所述,C#实现的3DES加密解密结合MAC算法,为数据的保密性和完整性提供了有力保障。正确理解和使用这些技术,对于开发安全的应用程序至关重要。

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

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

    C#实现DES加密算法用于重要文件的加密和解密

    编程环境: Visual Studio 2005, XP系统 C#实现DES加密算法用于重要文件的加密和解密。 说明:可以用于私人重要的或者隐私文件进行加解密,文件格式任意。

    C#实现DES加密解密源码,密码学课程设计

    通过阅读和理解这个源码,你可以深入理解DES加密解密的实现细节,并且掌握如何在C#中应用这些概念。同时,这也是一个很好的机会去实践错误处理、类设计以及代码组织等编程技巧。记得在分析源码时关注代码的注释,这...

    c#3DES双倍长加密解密

    c#的3DES加密解密强制要求不能使用简单的密钥,这里按照3DES双倍长的算法原理,实现双倍长的加密解密

Global site tag (gtag.js) - Google Analytics