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;
}
最后
以上就是小巧玉米最近收集整理的关于.net使用des加密算法的全部内容,更多相关内容请搜索靠谱客的其他文章。
发表评论 取消回复