C 編寫DES演算法加密解密

2021-04-13 21:18:13 字數 848 閱讀 7252

des加密應該是最基礎的加密演算法。des一共就有4個引數參與運作:明文、密文、金鑰、向量。為了初學者容易理解,可以把4個引數的關係寫成:密文=明文+金鑰+向量;明文=密文-金鑰-向量。為什麼要向量這個引數呢?因為如果有一篇文章,有幾個詞重複,那麼這個詞加上金鑰形成的密文,仍然會重複,這給破解者有機可乘,破解者可以根據重複的內容,猜出是什麼詞,然而一旦猜對這個詞,那麼,他就能算出金鑰,整篇文章就被破解了!加上向量這個引數以後,每塊文字段都會依次加上一段值,這樣,即使相同的文字,加密出來的密文,也是不一樣的,演算法的安全性大大提高!

下面我們做加密和解密方法:

using system;

//這個是使用des的基礎

using system.security.cryptography;

//這個是處理文字編碼的前提

using system.text;

//以「流」的形式處理文字,也是微軟des演算法要求的

using system.io;

///

/// des加密方法

///

/// 明文

/// 金鑰

/// 向量

/// 密文

public string desencrypt(string strplain,string strdeskey,string strdesiv)

///

/// des解密方法

///

/// 密文

/// 金鑰

/// 向量

/// 明文

public string desdecrypt(string strcipher,string strdeskey,string strdesiv)

C 的DES加密解密演算法

進行des加密。要加密的字串。金鑰,且必須為8位。以base64格式返回的加密字串。public string encrypt string ptoencrypt,string skey string str convert.tobase64string ms.toarray ms.close re...

DES加密與解密演算法

預設金鑰向量 private static readonly byte keys des加密字串 待加密的字串 加密成功返回加密後的字串,失敗返回源串 public static string encryptstring string encryptstring catch des解密字串 待解密的...

DES加密解密

using system using system.drawing using system.collections using system.componentmodel using system.windows.forms using system.data using system.io us...