public static string EncryptStr(this string str, string key = "s?]8!sj;d")
{
var des = DES.Create();
// var timestamp = DateTime.Now.ToString("HHmmssfff");
var inputBytes = Encoding.UTF8.GetBytes(MixUp(str));
var keyBytes = Encoding.UTF8.GetBytes(key);
SHA1 ha = new SHA1Managed();
var hb = ha.ComputeHash(keyBytes);
var sKey = new byte[8];
var sIv = new byte[8];
for (var i = 0; i < 8; i++)
sKey[i] = hb[i];
for (var i = 8; i < 16; i++)
sIv[i - 8] = hb[i];
des.Key = sKey;
des.IV = sIv;
using (var ms = new MemoryStream())
{
using (var cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write))
{
cs.Write(inputBytes, 0, inputBytes.Length);
cs.FlushFinalBlock();
var ret = new StringBuilder();
foreach (var b in ms.ToArray())
{
ret.AppendFormat("{0:X2}", b);
}
return ret.ToString();
}
}
}