自己份源程序.^^
using System;
using System.Text;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System.IO;
![[Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护] [Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDA1dmJtVXVaMmxt)
namespace Utility
{
![]()
/// The DSAPI wrapper
/// 安全加密算法用于日后扩展
/// To be released as part of the Microsoft Configuration Building Block
/// </summary>
public class DataProtector
{
//private SymmetricAlgorithm mCSP;
![]()
/// 创建一个对称加密算法的基类
/// </summary>
private System.Security.Cryptography.SymmetricAlgorithm mCSP;
![]()
/// keyOne
/// </summary>
private string _KeyGen ="qA3cLz8Y9Xw=";
![]()
/// keyTwo
/// </summary>
private string _IVGen ="uHnaoO/MEDw=";
![[Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护] [Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDBsdVFteHZZMnN1WjJsbQ==)
![]()
/// 生成要用于此算法的随机初始化向量,返回string
/// </summary>
/// <returns></returns>
public string GenerateKeyGen()
{
mCSP = SetEnc();
![[Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护] [Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDBsdVFteHZZMnN1WjJsbQ==)
mCSP.GenerateKey();
![[Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护] [Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDBsdVFteHZZMnN1WjJsbQ==)
return Convert.ToBase64String(mCSP.Key);
}
![[Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护] [Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDBsdVFteHZZMnN1WjJsbQ==)
![]()
/// 生成用于此算法的随机 Key,返回string
/// </summary>
/// <returns></returns>
public string GenerateIVGen()
{
mCSP.GenerateIV();
![[Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护] [Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDBsdVFteHZZMnN1WjJsbQ==)
return Convert.ToBase64String(mCSP.IV);
}
![[Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护] [Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDBsdVFteHZZMnN1WjJsbQ==)
![[Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护] [Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDBsdVFteHZZMnN1WjJsbQ==)
![]()
/// 加密算法选择,本程序默认选择DESCryptoServiceProvider进行加密
/// </summary>
/// <returns></returns>
private SymmetricAlgorithm SetEnc()
{
return new DESCryptoServiceProvider();
// return new DESCryptoServiceProvider();
// return new TripleDESCryptoServiceProvider();
}
![[Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护] [Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDBsdVFteHZZMnN1WjJsbQ==)
![[Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护] [Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDBsdVFteHZZMnN1WjJsbQ==)
![]()
/// 加密(通过本类的_KeyGen,_IVGen进行对称密钥)
/// </summary>
/// <param name="Value"></param>
/// <returns></returns>
public string EncryptString(string Value)
{
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
byte[] byt;
![[Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护] [Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDBsdVFteHZZMnN1WjJsbQ==)
mCSP.Key=Convert.FromBase64String(this._KeyGen);
mCSP.IV=Convert.FromBase64String(this._IVGen);
ct = mCSP.CreateEncryptor(mCSP.Key, mCSP.IV);
![[Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护] [Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDBsdVFteHZZMnN1WjJsbQ==)
//ct=mCSP.CreateEncryptor();
byt = Encoding.UTF8.GetBytes(Value);
![[Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护] [Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDBsdVFteHZZMnN1WjJsbQ==)
ms = new MemoryStream();
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();
cs.Close();
![[Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护] [Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDBsdVFteHZZMnN1WjJsbQ==)
return Convert.ToBase64String(ms.ToArray());
}
![[Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护] [Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDBsdVFteHZZMnN1WjJsbQ==)
![]()
/// 解密
/// </summary>
/// <param name="Value"></param>
/// <returns></returns>
public string DecryptString(string Value)
{
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
byte[] byt;
![[Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护] [Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDBsdVFteHZZMnN1WjJsbQ==)
mCSP.Key=Convert.FromBase64String(this._KeyGen);
mCSP.IV=Convert.FromBase64String(this._IVGen);
ct = mCSP.CreateDecryptor(mCSP.Key, mCSP.IV);
![[Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护] [Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDBsdVFteHZZMnN1WjJsbQ==)
byt = Convert.FromBase64String(Value);
![[Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护] [Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDBsdVFteHZZMnN1WjJsbQ==)
ms = new MemoryStream();
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();
![[Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护] [Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDBsdVFteHZZMnN1WjJsbQ==)
cs.Close();
![[Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护] [Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDBsdVFteHZZMnN1WjJsbQ==)
return Encoding.UTF8.GetString(ms.ToArray());
}
}
}
![[Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护] [Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDA1dmJtVXVaMmxt)
![[Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护] [Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDA1dmJtVXVaMmxt)
![[Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护] [Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDA1dmJtVXVaMmxt)
![[Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护] [Utility.sln]根据MSDN上的DESCryptoServiceProvider 类 尝试写的对称密钥加密原代码[可应用于安全级别不高的数据连接和密码保护]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDA1dmJtVXVaMmxt)
相关文章:
-
2021-07-26
-
2021-12-29
-
2022-03-01
-
2022-01-28
-
2021-07-14
-
2021-12-11
-
2022-12-23
-
2021-10-02
猜你喜欢
-
2022-02-23
-
2021-12-09
-
2021-08-16
-
2021-08-10
-
2021-11-02
-
2022-12-23
相关资源
-
下载
2021-06-05
-
下载
2022-12-19
-
下载
2023-01-01