您的位置:首页 > 编程语言 > C#

用C#实现DES加密解密

2008-09-20 17:16 489 查看
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());


}


}


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: