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#提供了方便的API来实现DES加密和解密。本文将深入探讨如何使用C#进行DES加密和解密字符串,以及相关的重要知识点。 首先,DES是一种块加密算法,它以64位的数据块进行操作,其中实际有效密钥长度为56位。在C#中,...
C#DES标准ECB加密解密示例源码,根据标准的C改的源码,与网上所搜索到的完全不一样,可以支持中文为密钥的加密,也可以支持为中文字符串的加密,如,密钥为:替天行道,明文为:来自替天行道的C#DES标准ECB加密解密...
- C#提供了一套完整的加密API,位于`System.Security.Cryptography`命名空间下,包括DES类,用于实现DES加密和解密。 3. **创建DES对象**: - 使用`new DESCryptoServiceProvider()`来创建一个DES加密服务提供者...
在本文中,我们将深入探讨DES加密解密算法,并展示如何在C++和C#这两种编程语言中实现这一算法。 首先,理解DES的工作原理至关重要。DES算法主要由以下四个步骤组成:初始置换(IP)、密钥扩展、16轮Feistel网络和...
在C#中,可以使用.NET框架提供的`System.Security.Cryptography`命名空间内的类来实现DES加密解密。具体步骤如下: 1. **创建DES对象**:使用` DESCryptoServiceProvider`类创建一个DES加密服务提供者实例。你可以...
标题中的“Delphi7与C#实现Des加解密互通Demo”指的是一个示例项目,该项目旨在演示如何在Delphi 7和C#之间进行DES加密和解密操作,确保两个环境下的数据一致性。全网找遍只此一份,表明这个示例可能比较罕见且具有...
本篇文章将深入探讨C#中如何实现DES加密解密,并结合给出的链接资源进行详细解释。 1. **DES算法概述** DES是一种块加密算法,它使用56位的密钥对64位的数据块进行加密。虽然56位的密钥长度现在看来相对较短,但在...
总之,ASP.NET中的DES加密解密涉及到对字符串数据的加密和解密,通过使用`DESCryptoServiceProvider`类,结合MD5哈希处理,实现了对数据的安全保护。尽管DES已不再是最安全的选择,但了解其原理和应用有助于理解加密...
标题中的“java和C#通用des3加解密”指的是在Java和C#这两种不同的编程语言中实现DES(Data Encryption Standard)的加强版——3DES(Triple DES)加解密算法。3DES是一种广泛使用的对称加密算法,通过三次应用DES的...
下面我们将深入探讨DES加密解密在C++和C#中的实现细节。 首先,在C++中实现DES加密解密,可以使用开源库如OpenSSL。OpenSSL提供了一套完整的加密工具,包括DES算法。以下是一个简单的示例: 1. 首先,需要包含...
在本文中,我们将深入探讨如何在C++和C#这两种不同的编程语言中实现DES加密解密。 首先,让我们来看看C++中的实现。在C++中,我们可以使用如`openssl`库来实现DES功能。安装库后,我们需要包含必要的头文件,如`#...
在给定的文件名"SQLEncryption"中,可能包含示例代码、数据库脚本或相关的教程资源,这些资源可以帮助你更好地理解和实现SQL Server与C#中的DES加密和解密功能。在实践中,确保遵循最佳安全实践,如定期更换密钥,...
在IT行业中,数据安全是至关重要的,特别是在网络通信和存储敏感信息时。DES(Data Encryption Standard,数据加密标准...本压缩包“C#中DES加密解密(兼容前端网页在线DES加密解密)”包含的资源可能是一个C#实现的DE
总的来说,C#中的3DES加密解密是通过`TripleDESCryptoServiceProvider`类来实现的,它涉及到密钥的设置、初始化向量的选择、加密和解密流的创建等步骤。在实际项目中,确保正确管理和存储密钥至关重要,同时也要注意...
在这个场景中,我们关注的是使用C#语言实现的3DES(Triple Data ...综上所述,C#实现的3DES加密解密结合MAC算法,为数据的保密性和完整性提供了有力保障。正确理解和使用这些技术,对于开发安全的应用程序至关重要。
压缩包中的"环境说明.txt"可能是关于开发环境或运行环境的说明,"VB_DES"和"C_DES"可能是VB.NET和C#的DE解密示例代码,而"HTML代码"则可能包含了前端JavaScript进行DES加密的示例。在实际项目中,这些文件会提供详细...
编程环境: Visual Studio 2005, XP系统 C#实现DES加密算法用于重要文件的加密和解密。 说明:可以用于私人重要的或者隐私文件进行加解密,文件格式任意。
通过阅读和理解这个源码,你可以深入理解DES加密解密的实现细节,并且掌握如何在C#中应用这些概念。同时,这也是一个很好的机会去实践错误处理、类设计以及代码组织等编程技巧。记得在分析源码时关注代码的注释,这...
c#的3DES加密解密强制要求不能使用简单的密钥,这里按照3DES双倍长的算法原理,实现双倍长的加密解密