You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.4 KiB
67 lines
2.4 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.IO;
|
|
using System.Security.Cryptography;
|
|
|
|
namespace ManagementSystem.Library
|
|
{
|
|
class UtilityClass
|
|
{
|
|
#region 加解密相關
|
|
/// <summary>
|
|
/// 進行DES加密
|
|
/// </summary>
|
|
/// <param name="pToEncrypt">要加密的字串</param>
|
|
/// <param name="key">金鑰,必須為8位</param>
|
|
/// <returns>以Base64格式返回的加密字串</returns>
|
|
public static string EncryptDES(string pToEncrypt, string sKey)
|
|
{
|
|
using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
|
|
{
|
|
byte[] inputByteArray = Encoding.UTF8.GetBytes(pToEncrypt);
|
|
des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
|
|
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
|
|
System.IO.MemoryStream ms = new System.IO.MemoryStream();
|
|
using (CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write))
|
|
{
|
|
cs.Write(inputByteArray, 0, inputByteArray.Length);
|
|
cs.FlushFinalBlock();
|
|
cs.Close();
|
|
}
|
|
string str = Convert.ToBase64String(ms.ToArray());
|
|
ms.Close();
|
|
return str;
|
|
}
|
|
}
|
|
|
|
static string DecryptDES(string pToDecrypt, string sKey)
|
|
{
|
|
byte[] inputByteArray = Convert.FromBase64String(pToDecrypt);
|
|
using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
|
|
{
|
|
des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
|
|
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
|
|
MemoryStream ms = new MemoryStream();
|
|
using (CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write))
|
|
{
|
|
cs.Write(inputByteArray, 0, inputByteArray.Length);
|
|
cs.FlushFinalBlock();
|
|
cs.Close();
|
|
}
|
|
string str = Encoding.UTF8.GetString(ms.ToArray());
|
|
ms.Close();
|
|
return str;
|
|
}
|
|
}
|
|
|
|
static string EncryptDES(int pToEncrypt, string sKey)
|
|
{
|
|
return EncryptDES(pToEncrypt.ToString(), sKey);
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|