用C#实现DES加密解密

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());
                }
        }
}

你可能感兴趣的:(算法,源代码,职场,休闲,身份验证)