110,536
社区成员
发帖
与我相关
我的任务
分享
/// <summary>
/// DES加密,加密utf-8字符集数据,为静态函数
/// </summary>
/// <param name="p_strEncypt">需要加密字符串</param>
/// <param name="p_strKey">密钥,只能8位</param>
/// <returns>加密后字符串</returns>
public static string DESEncryptEncodUTF(string p_strEncypt, string p_strKey)
{
StringBuilder sb = new StringBuilder();
string strData = string.Empty;//加密后返回的字符串
p_strEncypt = System.Web.HttpUtility.UrlEncode(p_strEncypt, System.Text.Encoding.UTF8);
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
byte[] btMyStrs = Encoding.GetEncoding("utf-8").GetBytes(p_strEncypt);
byte[] btMyKeys = Encoding.GetEncoding("utf-8").GetBytes(p_strKey);
des.IV = btMyKeys;
des.Key = btMyKeys;
MemoryStream memoryStream = new MemoryStream();
CryptoStream cryptoStream = new CryptoStream(memoryStream, des.CreateEncryptor(), CryptoStreamMode.Write);
cryptoStream.Write(btMyStrs, 0, btMyStrs.Length);
cryptoStream.FlushFinalBlock();
foreach (byte bt in memoryStream.ToArray())
{
sb.AppendFormat("{0:X2}", bt);
}
strData = sb.ToString().ToLower();
return strData;
}