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是常用的对称加密解密方法

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

2011-06-22 14:00:22

2009-09-09 14:40:15

C# XML解析

2011-06-22 11:04:25

加密ARM3DES

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-18 10:47:40

C#枚举类型

2009-09-09 13:57:28

C# XML解析

2009-08-19 16:09:15

C#操作Access
点赞
收藏

51CTO技术栈公众号