用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,如需转载请自行联系原作者
相关文章
|
2月前
|
存储 安全 数据安全/隐私保护
浅谈对称加密(AES与DES)
浅谈对称加密(AES与DES)
|
26天前
|
存储 安全 算法
C#一分钟浅谈:数据加密与解密技术
【10月更文挑战第3天】在数字化时代,信息安全至关重要。数据加密作为保障信息不被未授权访问的有效手段,通过特定算法将明文转换为密文,确保即使数据被截获也难以解读。本文从基础概念入手,介绍C#中实现数据加密的方法,涵盖对称加密(如AES、DES)与非对称加密(如RSA),并通过具体示例代码演示如何使用`System.Security.Cryptography.Aes`类完成AES加密和解密过程。此外,还强调了密钥管理及安全策略的重要性。
37 4
|
3月前
|
算法 JavaScript 前端开发
对称加密算法解析:DES、AES及其在`pycryptodome` 和 `crypto-js` 模块中的应用
对称加密算法解析:DES、AES及其在`pycryptodome` 和 `crypto-js` 模块中的应用
161 1
|
3月前
|
Java C# 数据安全/隐私保护
如何 使 Java、C# md5 加密的值保持一致
如何 使 Java、C# md5 加密的值保持一致
37 0
|
3月前
|
C# 图形学 数据安全/隐私保护
Unity数据加密☀️ 二、使用Rider将C#代码生成DLL文件
Unity数据加密☀️ 二、使用Rider将C#代码生成DLL文件
|
5月前
|
存储 算法 安全
Java中的DES和3DES加密算法详解
Java中的DES和3DES加密算法详解
|
5月前
|
Java C# 数据安全/隐私保护
|
4月前
|
C# 数据安全/隐私保护
Des加密和解密
Des加密和解密
47 0
|
5月前
|
Java BI C#
技术笔记:SM4加密算法实现Java和C#相互加密解密
技术笔记:SM4加密算法实现Java和C#相互加密解密
81 0
|
1天前
|
C# 开发者
C# 一分钟浅谈:Code Contracts 与契约编程
【10月更文挑战第26天】本文介绍了 C# 中的 Code Contracts,这是一个强大的工具,用于通过契约编程增强代码的健壮性和可维护性。文章从基本概念入手,详细讲解了前置条件、后置条件和对象不变量的使用方法,并通过具体代码示例进行了说明。同时,文章还探讨了常见的问题和易错点,如忘记启用静态检查、过度依赖契约和性能影响,并提供了相应的解决建议。希望读者能通过本文更好地理解和应用 Code Contracts。
13 3