内容发布更新时间 : 2024/11/6 9:29:01星期一 下面是文章的全部内容请认真阅读。
C#实现Des加密和解密
代码如下:
using System; using System.IO;
using System.Security.Cryptography;
namespace Vavic {
///
/// Security 的摘要说明。 ///
public class Security {
const string KEY_64 = \
const string IV_64 = \注意了,是8个字符,64位
public Security() { //
// TODO: 在此处添加构造函数逻辑 // }
//加密
public static string Encode(string data) {
byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64); byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);
DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider(); int i = cryptoProvider.KeySize;
MemoryStream ms = new MemoryStream(); CryptoStream cst = new
CryptoStream(ms,cryptoProvider.CreateEncryptor(byKey,byIV),CryptoStreamMode.Write);
StreamWriter sw = new StreamWriter(cst); sw.Write(data); sw.Flush();
cst.FlushFinalBlock();
sw.Flush();
return Convert.ToBase64String(ms.GetBuffer(),0,(int)ms.Length); }
//解密
public static string Decode(string data) {
byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64); byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);
byte[] byEnc; try {
byEnc = Convert.FromBase64String(data); } catch {
return null; }
DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
MemoryStream ms = new MemoryStream(byEnc); CryptoStream cst = new
CryptoStream(ms,cryptoProvider.CreateDecryptor(byKey,byIV),CryptoStreamMode.Read);
StreamReader sr = new StreamReader(cst); return sr.ReadToEnd(); } } }