Share via


DESCryptoServiceProvider Kelas

Definisi

Perhatian

Derived cryptographic types are obsolete. Use the Create method on the base type instead.

Menentukan objek pembungkus untuk mengakses versi penyedia layanan kriptografi (CSP) dari algoritma Standar Enkripsi Data (DES). Kelas ini tidak dapat diwariskan.

public ref class DESCryptoServiceProvider sealed : System::Security::Cryptography::DES
public sealed class DESCryptoServiceProvider : System.Security.Cryptography.DES
[System.Obsolete("Derived cryptographic types are obsolete. Use the Create method on the base type instead.", DiagnosticId="SYSLIB0021", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class DESCryptoServiceProvider : System.Security.Cryptography.DES
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class DESCryptoServiceProvider : System.Security.Cryptography.DES
type DESCryptoServiceProvider = class
    inherit DES
[<System.Obsolete("Derived cryptographic types are obsolete. Use the Create method on the base type instead.", DiagnosticId="SYSLIB0021", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type DESCryptoServiceProvider = class
    inherit DES
[<System.Runtime.InteropServices.ComVisible(true)>]
type DESCryptoServiceProvider = class
    inherit DES
Public NotInheritable Class DESCryptoServiceProvider
Inherits DES
Warisan
DESCryptoServiceProvider
Atribut

Contoh

Contoh kode berikut menggunakan (implementasi DES) dengan kunci yang ditentukan (Key) dan vektor inisialisasi DESCryptoServiceProvider (IV) untuk mengenkripsi file yang ditentukan oleh inName. Kemudian menghasilkan hasil terenkripsi ke file yang ditentukan oleh outName.

void EncryptData( String^ inName, String^ outName, array<Byte>^desKey, array<Byte>^desIV )
{
   
   //Create the file streams to handle the input and output files.
   FileStream^ fin = gcnew FileStream( inName,FileMode::Open,FileAccess::Read );
   FileStream^ fout = gcnew FileStream( outName,FileMode::OpenOrCreate,FileAccess::Write );
   fout->SetLength( 0 );
   
   //Create variables to help with read and write.
   array<Byte>^bin = gcnew array<Byte>(100);
   long rdlen = 0; //This is the total number of bytes written.

   long totlen = (long)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 = gcnew DESCryptoServiceProvider;
   CryptoStream^ encStream = gcnew 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();
}
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();
 }
Private Shared Sub EncryptData(inName As String, outName As String, _
desKey() As Byte, desIV() As Byte)

    'Create the file streams to handle the input and output files.
    Dim fin As New FileStream(inName, FileMode.Open, FileAccess.Read)
    Dim fout As New FileStream(outName, FileMode.OpenOrCreate, _
       FileAccess.Write)
    fout.SetLength(0)
    
    'Create variables to help with read and write.
    Dim bin(4096) As Byte 'This is intermediate storage for the encryption.
    Dim rdlen As Long = 0 'This is the total number of bytes written.
    Dim totlen As Long = fin.Length 'Total length of the input file.
    Dim len As Integer 'This is the number of bytes to be written at a time.
    Dim des As New DESCryptoServiceProvider()
    Dim encStream As 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, 4096)
        encStream.Write(bin, 0, len)
        rdlen = Convert.ToInt32(rdlen + len / des.BlockSize * des.BlockSize)
        Console.WriteLine("Processed {0} bytes, {1} bytes total", len, _
           rdlen)
    End While
    
    encStream.Close()
End Sub

Dekripsi dapat ditangani dengan cara yang sama; gunakan CreateDecryptor alih-alih CreateEncryptor. Kunci yang sama (Key) dan vektor inisialisasi (IV) yang digunakan untuk mengenkripsi file harus digunakan untuk mendekripsinya.

Keterangan

Algoritma ini mendukung panjang kunci 64 bit.

Penting

Algoritma enkripsi simetris yang lebih baru, Standar Enkripsi Lanjutan (AES), tersedia. Pertimbangkan untuk Aes menggunakan kelas alih-alih DES kelas . Gunakan DES hanya untuk kompatibilitas dengan aplikasi dan data lama.

Konstruktor

DESCryptoServiceProvider()
Kedaluwarsa.

Menginisialisasi instans baru kelas DESCryptoServiceProvider.

Bidang

BlockSizeValue
Kedaluwarsa.

Mewakili ukuran blok, dalam bit, dari operasi kriptografi.

(Diperoleh dari SymmetricAlgorithm)
FeedbackSizeValue
Kedaluwarsa.

Mewakili ukuran umpan balik, dalam bit, dari operasi kriptografi.

(Diperoleh dari SymmetricAlgorithm)
IVValue
Kedaluwarsa.

Mewakili vektor inisialisasi (IV) untuk algoritma simetris.

(Diperoleh dari SymmetricAlgorithm)
KeySizeValue
Kedaluwarsa.

Mewakili ukuran, dalam bit, dari kunci rahasia yang digunakan oleh algoritma simetris.

(Diperoleh dari SymmetricAlgorithm)
KeyValue
Kedaluwarsa.

Mewakili kunci rahasia untuk algoritma simetris.

(Diperoleh dari SymmetricAlgorithm)
LegalBlockSizesValue
Kedaluwarsa.

Menentukan ukuran blok, dalam bit, yang didukung oleh algoritma simetris.

(Diperoleh dari SymmetricAlgorithm)
LegalKeySizesValue
Kedaluwarsa.

Menentukan ukuran kunci, dalam bit, yang didukung oleh algoritma simetris.

(Diperoleh dari SymmetricAlgorithm)
ModeValue
Kedaluwarsa.

Mewakili mode sandi yang digunakan dalam algoritma simetris.

(Diperoleh dari SymmetricAlgorithm)
PaddingValue
Kedaluwarsa.

Mewakili mode padding yang digunakan dalam algoritma simetris.

(Diperoleh dari SymmetricAlgorithm)

Properti

BlockSize
Kedaluwarsa.

Mendapatkan atau mengatur ukuran blok, dalam bit, dari operasi kriptografi.

(Diperoleh dari SymmetricAlgorithm)
FeedbackSize
Kedaluwarsa.

Mendapatkan atau mengatur ukuran umpan balik, dalam bit, dari operasi kriptografi untuk mode cipher Feedback (CFB) dan Output Feedback (OFB).

(Diperoleh dari SymmetricAlgorithm)
IV
Kedaluwarsa.

Mendapatkan atau mengatur vektor inisialisasi (IV) untuk algoritma simetris.

(Diperoleh dari SymmetricAlgorithm)
Key
Kedaluwarsa.

Mendapatkan atau mengatur kunci rahasia untuk algoritma Standar Enkripsi Data (DES).

(Diperoleh dari DES)
KeySize
Kedaluwarsa.

Mendapatkan atau mengatur ukuran, dalam bit, dari kunci rahasia yang digunakan oleh algoritma simetris.

(Diperoleh dari SymmetricAlgorithm)
LegalBlockSizes
Kedaluwarsa.

Mendapatkan ukuran blok, dalam bit, yang didukung oleh algoritma simetris.

(Diperoleh dari SymmetricAlgorithm)
LegalKeySizes
Kedaluwarsa.

Mendapatkan ukuran kunci, dalam bit, yang didukung oleh algoritma simetris.

(Diperoleh dari SymmetricAlgorithm)
Mode
Kedaluwarsa.

Mendapatkan atau mengatur mode untuk pengoperasian algoritma simetris.

(Diperoleh dari SymmetricAlgorithm)
Padding
Kedaluwarsa.

Mendapatkan atau mengatur mode padding yang digunakan dalam algoritma simetris.

(Diperoleh dari SymmetricAlgorithm)

Metode

Clear()
Kedaluwarsa.

Merilis semua sumber daya yang SymmetricAlgorithm digunakan oleh kelas .

(Diperoleh dari SymmetricAlgorithm)
CreateDecryptor()
Kedaluwarsa.

Membuat objek dekripsi simetris dengan properti saat ini Key dan vektor inisialisasi (IV).

CreateDecryptor()
Kedaluwarsa.

Membuat objek dekripsi simetris dengan properti saat ini Key dan vektor inisialisasi (IV).

(Diperoleh dari SymmetricAlgorithm)
CreateDecryptor(Byte[], Byte[])
Kedaluwarsa.

Membuat objek dekripsi Standar Enkripsi Data simetris (DES) dengan kunci yang ditentukan (Key) dan vektor inisialisasi (IV).

CreateEncryptor()
Kedaluwarsa.

Membuat objek enkripsi simetris dengan properti saat ini Key dan vektor inisialisasi (IV).

CreateEncryptor()
Kedaluwarsa.

Membuat objek enkripsi simetris dengan properti saat ini Key dan vektor inisialisasi (IV).

(Diperoleh dari SymmetricAlgorithm)
CreateEncryptor(Byte[], Byte[])
Kedaluwarsa.

Membuat objek enkripsi Standar Enkripsi Data simetris (DES) dengan kunci yang ditentukan (Key) dan vektor inisialisasi (IV).

DecryptCbc(Byte[], Byte[], PaddingMode)
Kedaluwarsa.

Mendekripsi data menggunakan mode CBC dengan mode padding yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
DecryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode)
Kedaluwarsa.

Mendekripsi data menggunakan mode CBC dengan mode padding yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
DecryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode)
Kedaluwarsa.

Mendekripsi data ke dalam buffer yang ditentukan, menggunakan mode CBC dengan mode padding yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
DecryptCfb(Byte[], Byte[], PaddingMode, Int32)
Kedaluwarsa.

Mendekripsi data menggunakan mode CFB dengan mode padding dan ukuran umpan balik yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
DecryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode, Int32)
Kedaluwarsa.

Mendekripsi data menggunakan mode CFB dengan mode padding dan ukuran umpan balik yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
DecryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Kedaluwarsa.

Mendekripsi data ke dalam buffer yang ditentukan, menggunakan mode CFB dengan mode padding dan ukuran umpan balik yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
DecryptEcb(Byte[], PaddingMode)
Kedaluwarsa.

Mendekripsi data menggunakan mode ECB dengan mode padding yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
DecryptEcb(ReadOnlySpan<Byte>, PaddingMode)
Kedaluwarsa.

Mendekripsi data menggunakan mode ECB dengan mode padding yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
DecryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode)
Kedaluwarsa.

Mendekripsi data ke dalam buffer yang ditentukan, menggunakan mode ECB dengan mode padding yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
Dispose()
Kedaluwarsa.

Merilis semua sumber daya yang digunakan oleh instans SymmetricAlgorithm kelas saat ini.

(Diperoleh dari SymmetricAlgorithm)
Dispose(Boolean)
Kedaluwarsa.

Merilis sumber daya tidak terkelola yang digunakan oleh SymmetricAlgorithm dan secara opsional merilis sumber daya terkelola.

(Diperoleh dari SymmetricAlgorithm)
EncryptCbc(Byte[], Byte[], PaddingMode)
Kedaluwarsa.

Mengenkripsi data menggunakan mode CBC dengan mode padding yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
EncryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode)
Kedaluwarsa.

Mengenkripsi data menggunakan mode CBC dengan mode padding yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
EncryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode)
Kedaluwarsa.

Mengenkripsi data ke dalam buffer yang ditentukan, menggunakan mode CBC dengan mode padding yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
EncryptCfb(Byte[], Byte[], PaddingMode, Int32)
Kedaluwarsa.

Mengenkripsi data menggunakan mode CFB dengan mode padding dan ukuran umpan balik yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
EncryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode, Int32)
Kedaluwarsa.

Mengenkripsi data menggunakan mode CFB dengan mode padding dan ukuran umpan balik yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
EncryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Kedaluwarsa.

Mengenkripsi data ke dalam buffer yang ditentukan, menggunakan mode CFB dengan mode padding dan ukuran umpan balik yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
EncryptEcb(Byte[], PaddingMode)
Kedaluwarsa.

Mengenkripsi data menggunakan mode ECB dengan mode padding yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
EncryptEcb(ReadOnlySpan<Byte>, PaddingMode)
Kedaluwarsa.

Mengenkripsi data menggunakan mode ECB dengan mode padding yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
EncryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode)
Kedaluwarsa.

Mengenkripsi data ke dalam buffer yang ditentukan, menggunakan mode ECB dengan mode padding yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
Equals(Object)
Kedaluwarsa.

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GenerateIV()
Kedaluwarsa.

Menghasilkan vektor inisialisasi acak (IV) yang akan digunakan untuk algoritma.

GenerateKey()
Kedaluwarsa.

Menghasilkan kunci acak (Key) yang akan digunakan untuk algoritma.

GetCiphertextLengthCbc(Int32, PaddingMode)
Kedaluwarsa.

Mendapatkan panjang ciphertext dengan mode padding dan panjang teks biasa tertentu dalam mode CBC.

(Diperoleh dari SymmetricAlgorithm)
GetCiphertextLengthCfb(Int32, PaddingMode, Int32)
Kedaluwarsa.

Mendapatkan panjang ciphertext dengan mode padding dan panjang teks biasa tertentu dalam mode CFB.

(Diperoleh dari SymmetricAlgorithm)
GetCiphertextLengthEcb(Int32, PaddingMode)
Kedaluwarsa.

Mendapatkan panjang ciphertext dengan mode padding dan panjang teks biasa tertentu dalam mode ECB.

(Diperoleh dari SymmetricAlgorithm)
GetHashCode()
Kedaluwarsa.

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()
Kedaluwarsa.

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()
Kedaluwarsa.

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
ToString()
Kedaluwarsa.

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
TryDecryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode)
Kedaluwarsa.

Mencoba mendekripsi data ke dalam buffer yang ditentukan, menggunakan mode CBC dengan mode padding yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
TryDecryptCbcCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Kedaluwarsa.

Ketika ditimpa di kelas turunan, mencoba mendekripsi data ke dalam buffer yang ditentukan, menggunakan mode CBC dengan mode padding yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
TryDecryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode, Int32)
Kedaluwarsa.

Mencoba mendekripsi data ke dalam buffer yang ditentukan, menggunakan mode CFB dengan mode padding dan ukuran umpan balik yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
TryDecryptCfbCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32, Int32)
Kedaluwarsa.

Saat ditimpa di kelas turunan, mencoba mendekripsi data ke dalam buffer yang ditentukan, menggunakan mode CFB dengan mode padding dan ukuran umpan balik yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
TryDecryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Kedaluwarsa.

Mencoba mendekripsi data ke dalam buffer yang ditentukan, menggunakan mode ECB dengan mode padding yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
TryDecryptEcbCore(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Kedaluwarsa.

Saat ditimpa dalam kelas turunan, mencoba mendekripsi data ke dalam buffer yang ditentukan, menggunakan mode ECB dengan mode padding yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
TryEncryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode)
Kedaluwarsa.

Mencoba mengenkripsi data ke dalam buffer yang ditentukan, menggunakan mode CBC dengan mode padding yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
TryEncryptCbcCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Kedaluwarsa.

Saat ditimpa di kelas turunan, mencoba mengenkripsi data ke dalam buffer yang ditentukan, menggunakan mode CBC dengan mode padding yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
TryEncryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode, Int32)
Kedaluwarsa.

Mencoba mengenkripsi data ke dalam buffer yang ditentukan, menggunakan mode CFB dengan mode padding dan ukuran umpan balik yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
TryEncryptCfbCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32, Int32)
Kedaluwarsa.

Saat ditimpa di kelas turunan, mencoba mengenkripsi data ke dalam buffer yang ditentukan, menggunakan mode CFB dengan mode padding dan ukuran umpan balik yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
TryEncryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Kedaluwarsa.

Mencoba mengenkripsi data ke dalam buffer yang ditentukan, menggunakan mode ECB dengan mode padding yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
TryEncryptEcbCore(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Kedaluwarsa.

Saat ditimpa di kelas turunan, mencoba mengenkripsi data ke dalam buffer yang ditentukan, menggunakan mode ECB dengan mode padding yang ditentukan.

(Diperoleh dari SymmetricAlgorithm)
ValidKeySize(Int32)
Kedaluwarsa.

Menentukan apakah ukuran kunci yang ditentukan valid untuk algoritma saat ini.

(Diperoleh dari SymmetricAlgorithm)

Implementasi Antarmuka Eksplisit

IDisposable.Dispose()

API ini mendukung infrastruktur produk dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

Kedaluwarsa.

Merilis sumber daya tidak terkelola yang digunakan oleh SymmetricAlgorithm dan secara opsional merilis sumber daya terkelola.

(Diperoleh dari SymmetricAlgorithm)

Berlaku untuk

Lihat juga