DES對稱資料加密
/// <summary>
/// DES 加密過程
/// </summary>
/// <param name="dataToEncrypt">待加密資料</param>
/// <param name="DESKey"></param>
/// <returns></returns>
public static string Encrypt(string dataToEncrypt, string DESKey)
{
using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
{
byte[] inputByteArray = Encoding.Default.GetBytes(dataToEncrypt);//把字串放到byte陣列中
des.Key = ASCIIEncoding.ASCII.GetBytes(DESKey); //建立加密物件的金鑰和偏移量
des.IV = ASCIIEncoding.ASCII.GetBytes(DESKey);
using (MemoryStream ms = new MemoryStream())
{
using (CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write))
{
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
StringBuilder ret = new StringBuilder();
foreach (byte b in ms.ToArray())
{
ret.AppendFormat("{0:x2}", b);
}
return ret.ToString();
}
}
}
}
/// <summary>
/// DES 解密過程
/// </summary>
/// <param name="dataToDecrypt">待解密資料</param>
/// <param name="DESKey"></param>
/// <returns></returns>
public static string Decrypt(string dataToDecrypt, string DESKey)
{
using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
{
byte[] inputByteArray = new byte[dataToDecrypt.Length / 2];
for (int x = 0; x < dataToDecrypt.Length / 2; x++)
{
int i = (Convert.ToInt32(dataToDecrypt.Substring(x * 2, 2), 16));
inputByteArray[x] = (byte)i;
}
des.Key = ASCIIEncoding.ASCII.GetBytes(DESKey); //建立加密物件的金鑰和偏移量,此值重要,不能修改
des.IV = ASCIIEncoding.ASCII.GetBytes(DESKey);
using (MemoryStream ms = new MemoryStream())
{
using (CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write))
{
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
return System.Text.Encoding.Default.GetString(ms.ToArray());
}
}
}
}
【個人廣告】
希望大家可以支援我的個人微訊號“小遊戲情報局”
相關文章
- 資料加密(對稱加密和非對稱加密)加密
- DES--------Golang對稱加密之模式問題實戰Golang加密模式
- 對稱加密與非對稱加密加密
- 對稱、非對稱的加密技術是如何對網站資料進行雙重加密?加密網站
- DES加密加密
- 編碼與加密(對稱加密與非對稱加密)加密
- 前後端資料加密傳輸 RSA非對稱加密後端加密
- 對稱加密、非對稱加密、RSA(總結)加密
- https中的對稱加密和非對稱加密HTTP加密
- 對稱加密和非對稱加密(一)初步理解加密
- 資料加密 第四篇:對稱金鑰加密
- 加密原理詳解:對稱式加密VS非對稱式加密加密
- 資料加密 第五篇:非對稱金鑰加密
- DES演算法揭秘:資料加密的前沿技術演算法加密
- DES加密簡述加密
- DES加密詳解加密
- 對稱加密體系加密
- 非對稱加密體系加密
- 非對稱加密與 jwt加密JWT
- RSA 非對稱加密&解密加密解密
- Linux SSH是什麼?對稱加密和非對稱加密有何區別?Linux加密
- Linux系統中對稱加密和非對稱加密區別是什麼?Linux加密
- 關於Javascript的des加密JavaScript加密
- 聊聊對稱/非對稱加密在HTTPS中的應用加密HTTP
- 密碼學之對稱加密密碼學加密
- 非對稱加密--RSA原理淺析加密
- 懂了!國際演算法體系對稱演算法DES原理演算法
- 資料加密-國密SM2對資料進行加密加密
- 利用otter對敏感資料加密加密
- 非對稱加密和數字證書加密
- 非對稱加密技術:共享祕鑰加密
- 非對稱加密和證書總結加密
- 非對稱加密演算法的思考加密演算法
- golang 中,非對稱加密的實現Golang加密
- golang 密碼學-1. 對稱加密Golang密碼學加密
- 理解區塊鏈的非對稱加密區塊鏈加密
- 前後端(PHP)使用AES對稱加密後端PHP加密
- 應用加密1;非對稱加密演算法揭祕加密演算法
- 對稱加密、非對稱加密、RSA、訊息摘要、數字簽名、數字證書與HTTPS簡介加密HTTP