用C#实现DES加密解密

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介:
MD5/Base64/DES是常用来对用户身份验证的算法,本人陆续公开了自己常用的这三种算法的源代码,不足之处,希望大家批评指正。
 
using System; 
using System.Security.Cryptography; 
using System.Text; 
using System.IO; 
 
namespace Common 
...{ 
        /** //// <summary> 
         /// DESEncrypt加密解密算法。 
         /// </summary> 
         public  sealed  class DESEncrypt 
        ...{ 
                 private DESEncrypt() 
                ...{ 
                         // 
                         // TODO: 在此处添加构造函数逻辑 
                         // 
                } 
 
                 private  static  string key =  "zhoufoxcn"
 
                /** //// <summary> 
                 /// 对称加密解密的密钥 
                 /// </summary> 
                 public  static  string Key 
                ...{ 
                        get 
                        ...{ 
                                 return key; 
                        } 
                        set 
                        ...{ 
                                key = value; 
                        } 
                } 
 
                /** //// <summary> 
                 /// DES加密 
                 /// </summary> 
                 /// <param name="encryptString"></param> 
                 /// <returns></returns> 
                 public  static  string DesEncrypt( string encryptString) 
                ...{ 
                         byte[] keyBytes = Encoding.UTF8.GetBytes(key.Substring(0, 8)); 
                         byte[] keyIV = keyBytes; 
                         byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString); 
                        DESCryptoServiceProvider provider =  new DESCryptoServiceProvider(); 
                        MemoryStream mStream =  new MemoryStream(); 
                        CryptoStream cStream =  new CryptoStream(mStream, provider.CreateEncryptor(keyBytes, keyIV), CryptoStreamMode.Write); 
                        cStream.Write(inputByteArray, 0, inputByteArray.Length); 
                        cStream.FlushFinalBlock(); 
                         return Convert.ToBase64String(mStream.ToArray()); 
                } 
 
                /** //// <summary> 
                 /// DES解密 
                 /// </summary> 
                 /// <param name="decryptString"></param> 
                 /// <returns></returns> 
                 public  static  string DesDecrypt( string decryptString) 
                ...{ 
                         byte[] keyBytes = Encoding.UTF8.GetBytes(key.Substring(0, 8)); 
                         byte[] keyIV = keyBytes; 
                         byte[] inputByteArray = Convert.FromBase64String(decryptString); 
                        DESCryptoServiceProvider provider =  new DESCryptoServiceProvider(); 
                        MemoryStream mStream =  new MemoryStream(); 
                        CryptoStream cStream =  new CryptoStream(mStream, provider.CreateDecryptor(keyBytes, keyIV), CryptoStreamMode.Write); 
                        cStream.Write(inputByteArray, 0, inputByteArray.Length); 
                        cStream.FlushFinalBlock(); 
                         return Encoding.UTF8.GetString(mStream.ToArray()); 
                } 
        } 














本文转自周金桥51CTO博客,原文链接:http://blog.51cto.com/zhoufoxcn/167095,如需转载请自行联系原作者
相关文章
|
4月前
|
存储 安全 数据安全/隐私保护
浅谈对称加密(AES与DES)
浅谈对称加密(AES与DES)
90 1
|
1月前
|
算法 网络安全 区块链
2023/11/10学习记录-C/C++对称分组加密DES
本文介绍了对称分组加密的常见算法(如DES、3DES、AES和国密SM4)及其应用场景,包括文件和视频加密、比特币私钥加密、消息和配置项加密及SSL通信加密。文章还详细展示了如何使用异或实现一个简易的对称加密算法,并通过示例代码演示了DES算法在ECB和CBC模式下的加密和解密过程,以及如何封装DES实现CBC和ECB的PKCS7Padding分块填充。
59 4
2023/11/10学习记录-C/C++对称分组加密DES
|
1月前
|
算法 数据安全/隐私保护 Python
DES加密初探
本文介绍了Python中常用的DES和3DES加解密方法,包括ECB和CBC模式。通过示例代码展示了如何使用`Crypto`和`pyDes`库实现加解密,并讨论了不同的填充方式。最后,通过一道CTF例题,详细解析了从图像中提取密文、进行ASCII转换、Base64解码、凯撒解码和最终的DES解密过程。
62 4
DES加密初探
|
3月前
|
存储 安全 算法
C#一分钟浅谈:数据加密与解密技术
【10月更文挑战第3天】在数字化时代,信息安全至关重要。数据加密作为保障信息不被未授权访问的有效手段,通过特定算法将明文转换为密文,确保即使数据被截获也难以解读。本文从基础概念入手,介绍C#中实现数据加密的方法,涵盖对称加密(如AES、DES)与非对称加密(如RSA),并通过具体示例代码演示如何使用`System.Security.Cryptography.Aes`类完成AES加密和解密过程。此外,还强调了密钥管理及安全策略的重要性。
108 4
|
5月前
|
算法 JavaScript 前端开发
对称加密算法解析:DES、AES及其在`pycryptodome` 和 `crypto-js` 模块中的应用
对称加密算法解析:DES、AES及其在`pycryptodome` 和 `crypto-js` 模块中的应用
247 1
|
5月前
|
Java C# 数据安全/隐私保护
如何 使 Java、C# md5 加密的值保持一致
如何 使 Java、C# md5 加密的值保持一致
81 0
|
5月前
|
C# 图形学 数据安全/隐私保护
Unity数据加密☀️ 二、使用Rider将C#代码生成DLL文件
Unity数据加密☀️ 二、使用Rider将C#代码生成DLL文件
|
7月前
|
存储 算法 安全
Java中的DES和3DES加密算法详解
Java中的DES和3DES加密算法详解
|
7月前
|
Java C# 数据安全/隐私保护
|
6月前
|
C# 数据安全/隐私保护
Des加密和解密
Des加密和解密
66 0