C#DES算法加密解密实例解析

开发 后端 算法
C#DES算法加密解密的应用还是比较广泛的尽管它已失去昔日的光辉,但是掌握C#DES算法加密解密还是十分有用的。

C# DES算法加密解密作为我们开发中的安全部分我们需要明白它的使用,虽然56位密钥的DES算法已经风光不在,而且常有用Des加密的明文被破译的报道,但是了解一下昔日美国的标准加密算法总是有益的,而且目前DES算法得到了广泛的应用,在某些场合,仍然发挥着余热。

C# DES算法加密解密特点:分组比较短、密钥太短、密码生命周期短、运算速度较慢。C# DES算法加密解密工作的基本原理:其入口参数有三个:key、data、mode。key为加密解密使用的密钥;data为加密解密的数据;mode为其工作模式。

C# DES算法加密解密核心代码演示:DES是常用的对称加密解密方法

/**//// <summary>  
/// 进行DES加密。  
/// </summary>  
/// <param name="pToEncrypt">要加密的字符串。</param>  
/// <param name="sKey">密钥,且必须为8位。</param>  
/// <returns>以Base64格式返回的加密字符串。</returns>  
public string Encrypt(string pToEncrypt, string sKey)  
{  
using (DESCryptoServiceProvider des =   
new DESCryptoServiceProvider())  
{  
byte[] inputByteArray = Encoding.UTF8.GetBytes(pToEncrypt);  
des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);  
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);  
System.IO.MemoryStream ms = new System.IO.MemoryStream();  
using (CryptoStream cs = new CryptoStream(ms,   
des.CreateEncryptor(), CryptoStreamMode.Write))  
{  
cs.Write(inputByteArray, 0, inputByteArray.Length);  
cs.FlushFinalBlock();  
cs.Close();  
}  
string str = Convert.ToBase64String(ms.ToArray());  
ms.Close();  
return str;  
}  
}  
 
/**//// <summary>  
/// 进行C#DES解密。  
/// </summary>  
/// <param name="pToDecrypt">要解密的以Base64</param>  
/// <param name="sKey">密钥,且必须为8位。</param>  
/// <returns>已解密的字符串。</returns>  
public string Decrypt(string pToDecrypt, string sKey)  
{  
byte[] inputByteArray = Convert.FromBase64String(pToDecrypt);  
using (DESCryptoServiceProvider des =   
new DESCryptoServiceProvider())  
{  
des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);  
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);  
System.IO.MemoryStream ms = new System.IO.MemoryStream();  
using (CryptoStream cs = new CryptoStream(ms,  
 des.CreateDecryptor(), CryptoStreamMode.Write))  
{  
cs.Write(inputByteArray, 0, inputByteArray.Length);  
cs.FlushFinalBlock();  
cs.Close();  
}  
string str = Encoding.UTF8.GetString(ms.ToArray());  
ms.Close();  
return str;  
}  
}  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.

C# DES算法加密解密的基本情况就向你介绍到这里,希望对你了解和学习C# DES算法加密解密有所帮助。

【编辑推荐】

  1. C#内存流的使用实例探讨
  2. .NET写入文本文件的操作浅析
  3. C# MSN Messenger的窗口的实现浅析
  4. C#MSN插件开发实例解析
  5. C#DES算法概念及特点浅析
责任编辑:仲衡 来源: 百度空间
相关推荐

2009-09-04 16:55:09

C#DES算法解密

2009-09-04 17:20:23

C# DES加密解密

2009-09-04 16:37:37

C# DES算法

2020-09-24 10:50:53

加密解密语言hmac

2023-07-30 17:44:24

CryptoJS加密字符串

2009-10-29 13:46:14

VB.NET DES加

2011-08-25 16:47:53

LuaC++ 证书

2019-08-02 10:43:57

2009-09-09 18:35:07

C# 加密MD5和SHA1

2009-09-09 14:40:15

C# XML解析

2011-06-22 11:04:25

加密ARM3DES

2011-06-22 14:00:22

2021-04-15 09:02:33

Python加密解密

2011-03-02 16:43:25

2009-12-18 16:12:11

Ruby加密

2010-07-06 10:35:59

2009-08-13 18:12:11

C#数据加密

2009-08-31 18:17:32

C#接口编程

2009-09-07 06:31:32

C#窗体移动

2009-08-19 16:09:15

C#操作Access
点赞
收藏

51CTO技术栈公众号