本文為機器翻譯文章。如需檢視英文版,請選取 [原文] 核取方塊。您也可以將滑鼠指標移到文字上,即可在快顯視窗顯示英文原文。
譯文
原文

DESCryptoServiceProvider 類別

 

定義一個包裝函式物件,來存取密碼編譯服務提供者 (CSP) 版本的資料加密標準 (DES) 演算法。 這個類別無法被繼承。

命名空間:   System.Security.Cryptography
組件:  mscorlib (於 mscorlib.dll)

System.Object
  System.Security.Cryptography.SymmetricAlgorithm
    System.Security.Cryptography.DES
      System.Security.Cryptography.DESCryptoServiceProvider

[ComVisibleAttribute(true)]
public sealed class DESCryptoServiceProvider : DES

名稱描述
System_CAPS_pubmethodDESCryptoServiceProvider()

初始化 DESCryptoServiceProvider 類別的新執行個體。

名稱描述
System_CAPS_pubpropertyBlockSize

取得或設定密碼編譯作業的區塊大小,以位元為單位。(繼承自 SymmetricAlgorithm。)

System_CAPS_pubpropertyFeedbackSize

取得或設定密碼編譯作業的回饋大小,以位元為單位。(繼承自 SymmetricAlgorithm。)

System_CAPS_pubpropertyIV

取得或設定對稱演算法的初始化向量 (IV)。(繼承自 SymmetricAlgorithm。)

System_CAPS_pubpropertyKey

取得或設定資料加密標準 (DES) 演算法的祕密金鑰。(繼承自 DES。)

System_CAPS_pubpropertyKeySize

取得或設定對稱演算法使用之祕密金鑰的大小,以位元為單位。(繼承自 SymmetricAlgorithm。)

System_CAPS_pubpropertyLegalBlockSizes

取得對稱演算法所支援的區塊大小,以位元為單位。(繼承自 SymmetricAlgorithm。)

System_CAPS_pubpropertyLegalKeySizes

取得對稱演算法所支援的金鑰大小,以位元為單位。(繼承自 SymmetricAlgorithm。)

System_CAPS_pubpropertyMode

取得或設定對稱演算法的作業模式。(繼承自 SymmetricAlgorithm。)

System_CAPS_pubpropertyPadding

取得或設定對稱演算法中使用的填補模式。(繼承自 SymmetricAlgorithm。)

名稱描述
System_CAPS_pubmethodClear()

釋放 SymmetricAlgorithm 類別所使用的所有資源。(繼承自 SymmetricAlgorithm。)

System_CAPS_pubmethodCreateDecryptor()

使用目前的 Key 屬性和初始化向量 (IV),建立對稱解密子物件。(繼承自 SymmetricAlgorithm。)

System_CAPS_pubmethodCreateDecryptor(Byte[], Byte[])

建立對稱資料加密標準 (DES) 與指定金鑰解密子物件 (Key) 和初始化向量 (IV)。(覆寫 SymmetricAlgorithm.CreateDecryptor(Byte[], Byte[])。)

System_CAPS_pubmethodCreateEncryptor()

使用目前的 Key 屬性和初始化向量 (IV),建立對稱加密子物件。(繼承自 SymmetricAlgorithm。)

System_CAPS_pubmethodCreateEncryptor(Byte[], Byte[])

建立對稱資料加密標準 (DES) 與指定金鑰的加密子物件 (Key) 和初始化向量 (IV)。(覆寫 SymmetricAlgorithm.CreateEncryptor(Byte[], Byte[])。)

System_CAPS_pubmethodDispose()

釋放 SymmetricAlgorithm 類別目前的執行個體所使用的全部資源。(繼承自 SymmetricAlgorithm。)

System_CAPS_pubmethodEquals(Object)

判斷指定的物件是否等於目前的物件。(繼承自 Object。)

System_CAPS_pubmethodGenerateIV()

產生的隨機初始化向量 (IV) 要用於演算法。(覆寫 SymmetricAlgorithm.GenerateIV()。)

System_CAPS_pubmethodGenerateKey()

產生的隨機金鑰 (Key) 要用於演算法。(覆寫 SymmetricAlgorithm.GenerateKey()。)

System_CAPS_pubmethodGetHashCode()

做為預設雜湊函式。(繼承自 Object。)

System_CAPS_pubmethodGetType()

取得目前執行個體的 Type(繼承自 Object。)

System_CAPS_pubmethodToString()

傳回代表目前物件的字串。(繼承自 Object。)

System_CAPS_pubmethodValidKeySize(Int32)

判斷指定的金鑰大小對目前的演算法是否有效。(繼承自 SymmetricAlgorithm。)

這個演算法支援 64 位元的金鑰長度。

下列程式碼範例使用 DESCryptoServiceProvider (實作 DES) 與指定之索引鍵 (Key) 和初始化向量 (IV) 來加密所指定的檔案 inName 然後會輸出所指定的檔案加密的結果 outName

private static void EncryptData(String inName, String outName, byte[] desKey, byte[] desIV)
 {    
     //Create the file streams to handle the input and output files.
     FileStream fin = new FileStream(inName, FileMode.Open, FileAccess.Read);
     FileStream fout = new FileStream(outName, FileMode.OpenOrCreate, FileAccess.Write);
     fout.SetLength(0);

     //Create variables to help with read and write.
     byte[] bin = new byte[100]; //This is intermediate storage for the encryption.
     long rdlen = 0;              //This is the total number of bytes written.
     long totlen = fin.Length;    //This is the total length of the input file.
     int len;                     //This is the number of bytes to be written at a time.

     DES des = new DESCryptoServiceProvider();          
     CryptoStream encStream = new CryptoStream(fout, des.CreateEncryptor(desKey, desIV), CryptoStreamMode.Write);

     Console.WriteLine("Encrypting...");

     //Read from the input file, then encrypt and write to the output file.
     while(rdlen < totlen)
     {
         len = fin.Read(bin, 0, 100);
         encStream.Write(bin, 0, len);
         rdlen = rdlen + len;
         Console.WriteLine("{0} bytes processed", rdlen);
     }

     encStream.Close();  
     fout.Close();
     fin.Close();                   
 }

解密可以處理方式相同。使用 CreateDecryptor 而不是 CreateEncryptor 相同的索引鍵 (Key) 和初始化向量 (IV) 用來加密檔案必須用來將其解密。

.NET Framework
自 1.1 起供應

此類型的任何 public static (在 Visual Basic 中 共用 在 Visual Basic 中) 成員皆為安全執行緒。不保證任何執行個體成員為安全執行緒。

回到頁首
顯示: