DESCryptoServiceProvider Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- 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) |