|
|
@@ -31,13 +31,20 @@ namespace Learun.Util |
|
|
|
/// <param name="Text">需要加密的内容</param> |
|
|
|
/// <param name="sKey">秘钥</param> |
|
|
|
/// <returns></returns> |
|
|
|
public static string Encrypt(string Text, string sKey) |
|
|
|
public static string Encrypt(string Text, string sKey, bool md5 = true) |
|
|
|
{ |
|
|
|
var key = sKey; |
|
|
|
var iv = sKey; |
|
|
|
if (md5) |
|
|
|
{ |
|
|
|
key = Md5Helper.Hash(sKey).ToUpper().Substring(0, 8); |
|
|
|
iv = Md5Helper.Hash(sKey).ToUpper().Substring(0, 8); |
|
|
|
} |
|
|
|
DESCryptoServiceProvider des = new DESCryptoServiceProvider(); |
|
|
|
byte[] inputByteArray; |
|
|
|
inputByteArray = Encoding.Default.GetBytes(Text); |
|
|
|
des.Key = ASCIIEncoding.ASCII.GetBytes(Md5Helper.Hash(sKey).ToUpper().Substring(0, 8)); |
|
|
|
des.IV = ASCIIEncoding.ASCII.GetBytes(Md5Helper.Hash(sKey).ToUpper().Substring(0, 8)); |
|
|
|
des.Key = ASCIIEncoding.ASCII.GetBytes(key); |
|
|
|
des.IV = ASCIIEncoding.ASCII.GetBytes(iv); |
|
|
|
System.IO.MemoryStream ms = new System.IO.MemoryStream(); |
|
|
|
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write); |
|
|
|
cs.Write(inputByteArray, 0, inputByteArray.Length); |
|
|
@@ -75,8 +82,15 @@ namespace Learun.Util |
|
|
|
/// <param name="Text">需要解密的内容</param> |
|
|
|
/// <param name="sKey">秘钥</param> |
|
|
|
/// <returns></returns> |
|
|
|
public static string Decrypt(string Text, string sKey) |
|
|
|
public static string Decrypt(string Text, string sKey, bool md5 = true) |
|
|
|
{ |
|
|
|
var key = sKey; |
|
|
|
var iv = sKey; |
|
|
|
if (md5) |
|
|
|
{ |
|
|
|
key = Md5Helper.Hash(sKey).ToUpper().Substring(0, 8); |
|
|
|
iv = Md5Helper.Hash(sKey).ToUpper().Substring(0, 8); |
|
|
|
} |
|
|
|
DESCryptoServiceProvider des = new DESCryptoServiceProvider(); |
|
|
|
int len; |
|
|
|
len = Text.Length / 2; |
|
|
@@ -87,8 +101,8 @@ namespace Learun.Util |
|
|
|
i = Convert.ToInt32(Text.Substring(x * 2, 2), 16); |
|
|
|
inputByteArray[x] = (byte)i; |
|
|
|
} |
|
|
|
des.Key = ASCIIEncoding.ASCII.GetBytes(Md5Helper.Hash(sKey).ToUpper().Substring(0, 8)); |
|
|
|
des.IV = ASCIIEncoding.ASCII.GetBytes(Md5Helper.Hash(sKey).ToUpper().Substring(0, 8)); |
|
|
|
des.Key = ASCIIEncoding.ASCII.GetBytes(key); |
|
|
|
des.IV = ASCIIEncoding.ASCII.GetBytes(iv); |
|
|
|
System.IO.MemoryStream ms = new System.IO.MemoryStream(); |
|
|
|
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write); |
|
|
|
cs.Write(inputByteArray, 0, inputByteArray.Length); |
|
|
|