您的位置:首页 > 其它

.net使用des加密算法

2015-05-30 21:26 169 查看
String desKey = "BFYB_KEY";//键

String desIV = "BFYB_IIV";//向量

/// <summary>

/// DES加密

/// </summary>

/// <param name="originText"></param>

/// <returns></returns>

public String desEncode(String originText)

{

byte[] tmpDesKey = System.Text.ASCIIEncoding.ASCII.GetBytes(desKey);

byte[] tmpDesIV = System.Text.ASCIIEncoding.ASCII.GetBytes(desIV);

//

DESCryptoServiceProvider desProvider = new DESCryptoServiceProvider();

MemoryStream memStream = new MemoryStream();

CryptoStream cryptoStream = new CryptoStream(memStream, desProvider.CreateEncryptor(tmpDesKey, tmpDesIV), CryptoStreamMode.Write);

StreamWriter streamWriter = new StreamWriter(cryptoStream);

streamWriter.Write(originText);

streamWriter.Flush();

cryptoStream.FlushFinalBlock();

streamWriter.Flush();

String retStr = Convert.ToBase64String(memStream.GetBuffer(), 0, (int)memStream.Length);

return retStr;

}

/// <summary>

/// DES解密

/// </summary>

/// <param name="originText"></param>

/// <returns></returns>

public String desDecode(String originText)

{

byte[] tmpDesKey = System.Text.ASCIIEncoding.ASCII.GetBytes(desKey);

byte[] tmpDesIV = System.Text.ASCIIEncoding.ASCII.GetBytes(desIV);

//

byte[] originBytes;

try

{

originText.Replace("_%_", "/");

originText.Replace("-%-", "#");

originBytes = Convert.FromBase64String(originText);

}

catch(Exception exception)

{

return null;

}

DESCryptoServiceProvider desProvider = new DESCryptoServiceProvider();

MemoryStream memStream = new MemoryStream(originBytes);

CryptoStream cryptoStream = new CryptoStream(memStream, desProvider.CreateDecryptor(tmpDesKey, tmpDesIV), CryptoStreamMode.Read);

StreamReader steamReader = new StreamReader(cryptoStream);

String retString = steamReader.ReadToEnd();

return retString;

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