C# DES加密

C# 有提供統一的DES加密類 DESCryptoServiceProvider 類 System.Security.Cryptography.DESCryptoServiceProvider,

mscorlib.dll。

 

使用實例:

public virtual string UserCodeDesCBC(string date, string desKey)
{
System.Security.Cryptography.DESCryptoServiceProvider provider = new System.Security.Cryptography.DESCryptoServiceProvider();
//設置運算模式
provider.Mode = System.Security.Cryptography.CipherMode.CBC
//設置填充模式
//PKCS #7 ,pkcs7padding 其加密結果與 PKCS #5 ,pkcs5padding 相同,微軟沒有PKCS #5的設置
provider.Padding = System.Security.Cryptography.PaddingMode.PKCS7
//

//處理祕鑰
byte[] keyBytes = Encoding.UTF8.GetBytes(desKey);
//處理初始化向量,此處直接和祕鑰一致。也可按需求,單獨設置,處理類似祕鑰處理
byte[] keyIV = keyBytes;
//加密數據
 MemoryStream mStream = new MemoryStream();

System.Security.Cryptography.CryptoStream cStream = new System.Security.Cryptography.CryptoStream(mStream, provider.CreateEncryptor(keyBytes, keyIV), System.Security.Cryptography.CryptoStreamMode.Write);
//date爲要加密的數據,要轉換爲二進制數據,這裏編碼可以按照需求,自行選擇
byte[] inputByteArray = Encoding.UTF8.GetBytes(date);
cStream.Write(inputByteArray, 0, inputByteArray.Length);
cStream.FlushFinalBlock();

//獲取加密結果,此處編碼也可按照需求自行選擇
return Convert.ToBase64String(mStream.ToArray());
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章