a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C# > 正文

一個可逆加密的類(使用3DES加密)

2020-01-24 03:42:59
字體:
來源:轉載
供稿:網友
一、提要
命名空間:System.Security.Cryptography.TripleDES 類
簡單說明: 表示三重數據加密標準算法的基類,TripleDES 的所有實現都必須從此基類派生。是從 SymmetricAlgorithm 類里繼承出來。TripleDES 使用 DES 算法的三次連續迭代。它可以使用兩個或三個 56 位密鑰。
使用目的:比較安全的加密一種方式,密鑰和矢量的不同,會生產不同的加密字串。因為是DES算法的三次連續迭代,而且算法可逆,這樣對于數據保密性和可恢復性都不錯。
二、代碼示例
本代碼參照了部分MSDN上的代碼示例,再根據自己的實際情況,補充了一部分MSDN上沒有提到的內容
復制代碼 代碼如下:

using System;
using System.Security;
using System.Security.Cryptography;
using System.IO;
using System.Text;
using System.Threading;
namespace TRIP3DES
{
/// <summary>
/// Class1 的摘要說明。
/// </summary>
public class dllEncrypt
{
//密鑰
private const string sKey = "qJzGEh6hESZDVJeCnFPGuxzaiB7NLQM3";
//矢量,矢量可以為空
private const string sIV = "qcDY6X+aPLw=";
//構造一個對稱算法
private SymmetricAlgorithm mCSP = new TripleDESCryptoServiceProvider();
public dllEncrypt(){}
#region public string EncryptString(string Value)
/// <summary>
/// 加密字符串
/// </summary>
/// <param name="Value">輸入的字符串</param>
/// <returns>加密后的字符串</returns>
public string EncryptString(string Value)
{
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
byte[] byt;
mCSP.Key = Convert.FromBase64String(sKey);
mCSP.IV = Convert.FromBase64String(sIV);
//指定加密的運算模式
mCSP.Mode = System.Security.Cryptography.CipherMode.ECB;
//獲取或設置加密算法的填充模式
mCSP.Padding = System.Security.Cryptography.PaddingMode.PKCS7;
ct = mCSP.CreateEncryptor(mCSP.Key, mCSP.IV);
byt = Encoding.UTF8.GetBytes(Value);
ms = new MemoryStream();
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();
cs.Close();
return Convert.ToBase64String(ms.ToArray());
}
#endregion
#region public string DecryptString(string Value)
/// <summary>
/// 解密字符串
/// </summary>
/// <param name="Value">加過密的字符串</param>
/// <returns>解密后的字符串</returns>
public string DecryptString(string Value)
{
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
byte[] byt;
mCSP.Key = Convert.FromBase64String(sKey);
mCSP.IV = Convert.FromBase64String(sIV);
mCSP.Mode = System.Security.Cryptography.CipherMode.ECB;
mCSP.Padding = System.Security.Cryptography.PaddingMode.PKCS7;
ct = mCSP.CreateDecryptor(mCSP.Key, mCSP.IV);
byt = Convert.FromBase64String(Value);
ms = new MemoryStream();
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();
cs.Close();
return Encoding.UTF8.GetString(ms.ToArray());
}
#endregion
}
}

三、總結
做成類庫對于密鑰和矢量的保管比較方便,輸入輸出全部是string型變量,這樣也比較方便,密鑰的生成可以用mSCP. GenerateKey()來生成,矢量的生成也可以用mCSP.GenerateIV()來生成。大家也可以自己靈活的編寫符合自己的3DES算法。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人国产精品一级毛片视频 | 激情超碰 | 91精品一区二区三区久久久久久 | 精品视频 免费 | 九九99久久 | 成人欧美一区二区三区在线观看 | 欧美激情视频一区二区三区在线播放 | 成人国产精品一区二区毛片在线 | 少妇一区二区三区免费观看 | 精品久| 欧美成人精品一区 | 国产激情在线 | 成人一区二区三区在线观看 | 黄网站色大毛片 | 蜜桃日韩 | 天堂av中文在线 | 亚洲美女视频在线观看 | 精品国产一区二区三区久久影院 | 日韩有码一区二区三区 | 国色天香成人网 | 欧美黑人巨大xxx极品 | 欧美黄色一级毛片 | 一区二区三区免费在线 | 国产毛片av | 国产精品视频免费 | 久久99国产精品久久99大师 | 成人欧美一区二区三区黑人 | 久久精品福利 | 国产成人精品二区 | 精品三级在线观看 | 亚洲欧美日本在线 | 欧美高清视频在线观看 | 日韩精品久久理论片 | 一级日批片 | 99精品国产高清一区二区麻豆 | 毛片毛片毛片毛片毛片毛片毛片毛片 | 午夜精品成人一区二区 | 在线观看91 | 日韩精品视频网 | 天天夜夜操操 | 99精品欧美一区二区三区综合在线 |