C#实现Des加密和解密

    技术2022-05-11  13

    代码如下:using System;using System.IO;using System.Security.Cryptography;namespace Vavic{/// <summary>/// Security 的摘要说明。/// </summary>public class Security{const string KEY_64 = "VavicApp";const string IV_64 = "VavicApp"; //注意了,是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); 软件开发网 www.mscto.com 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();}}}


    最新回复(0)