TripleDES 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.
Mewakili kelas dasar untuk algoritma Triple Data Encryption Standard tempat semua TripleDES implementasi harus berasal.
public ref class TripleDES abstract : System::Security::Cryptography::SymmetricAlgorithm
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public abstract class TripleDES : System.Security.Cryptography.SymmetricAlgorithm
public abstract class TripleDES : System.Security.Cryptography.SymmetricAlgorithm
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class TripleDES : System.Security.Cryptography.SymmetricAlgorithm
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type TripleDES = class
inherit SymmetricAlgorithm
type TripleDES = class
inherit SymmetricAlgorithm
[<System.Runtime.InteropServices.ComVisible(true)>]
type TripleDES = class
inherit SymmetricAlgorithm
Public MustInherit Class TripleDES
Inherits SymmetricAlgorithm
- Warisan
- Turunan
- Atribut
Contoh
Metode contoh kode berikut menggunakan dengan kunci yang ditentukan (Key) dan vektor inisialisasi TripleDESCryptoServiceProvider (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>^tdesKey, array<Byte>^tdesIV )
{
//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.
TripleDESCryptoServiceProvider^ tdes = gcnew TripleDESCryptoServiceProvider;
CryptoStream^ encStream = gcnew CryptoStream( fout,tdes->CreateEncryptor( tdesKey, tdesIV ),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();
}
private static void EncryptData(string inName, string outName, byte[] tdesKey, byte[] tdesIV)
{
//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.
TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();
CryptoStream encStream = new CryptoStream(fout, tdes.CreateEncryptor(tdesKey, tdesIV), 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();
}
Private Shared Sub EncryptData(inName As String, outName As String, _
tdesKey() As Byte, tdesIV() 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(100) 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 'This is the total length of the input file.
Dim len As Integer 'This is the number of bytes to be written at a time.
Dim tdes As New TripleDESCryptoServiceProvider()
Dim encStream As New CryptoStream(fout, _
tdes.CreateEncryptor(tdesKey, tdesIV), 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)
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
TripleDES menggunakan tiga iterasi algoritma berturut-turut DES . Ini dapat menggunakan dua atau tiga kunci 56-bit.
Catatan
Algoritma enkripsi simetris yang lebih baru, Standar Enkripsi Lanjutan (AES), tersedia. Pertimbangkan untuk Aes menggunakan kelas dan kelas turunannya alih-alih TripleDES kelas . Gunakan TripleDES hanya untuk kompatibilitas dengan aplikasi dan data warisan.
Algoritma ini mendukung panjang kunci dari 128 bit hingga 192 bit dengan kenaikan 64 bit.
Konstruktor
TripleDES() |
Menginisialisasi instans baru kelas TripleDES. |
Bidang
BlockSizeValue |
Mewakili ukuran blok, dalam bit, dari operasi kriptografi. (Diperoleh dari SymmetricAlgorithm) |
FeedbackSizeValue |
Mewakili ukuran umpan balik, dalam bit, dari operasi kriptografi. (Diperoleh dari SymmetricAlgorithm) |
IVValue |
Mewakili vektor inisialisasi (IV) untuk algoritma simetris. (Diperoleh dari SymmetricAlgorithm) |
KeySizeValue |
Mewakili ukuran, dalam bit, dari kunci rahasia yang digunakan oleh algoritma simetris. (Diperoleh dari SymmetricAlgorithm) |
KeyValue |
Mewakili kunci rahasia untuk algoritma simetris. (Diperoleh dari SymmetricAlgorithm) |
LegalBlockSizesValue |
Menentukan ukuran blok, dalam bit, yang didukung oleh algoritma simetris. (Diperoleh dari SymmetricAlgorithm) |
LegalKeySizesValue |
Menentukan ukuran kunci, dalam bit, yang didukung oleh algoritma simetris. (Diperoleh dari SymmetricAlgorithm) |
ModeValue |
Mewakili mode sandi yang digunakan dalam algoritma simetris. (Diperoleh dari SymmetricAlgorithm) |
PaddingValue |
Mewakili mode padding yang digunakan dalam algoritma simetris. (Diperoleh dari SymmetricAlgorithm) |
Properti
BlockSize |
Mendapatkan atau mengatur ukuran blok, dalam bit, dari operasi kriptografi. (Diperoleh dari SymmetricAlgorithm) |
FeedbackSize |
Mendapatkan atau mengatur ukuran umpan balik, dalam bit, dari operasi kriptografi untuk mode cipher Feedback (CFB) dan Output Feedback (OFB). (Diperoleh dari SymmetricAlgorithm) |
IV |
Mendapatkan atau mengatur vektor inisialisasi (IV) untuk algoritma simetris. (Diperoleh dari SymmetricAlgorithm) |
Key |
Mendapatkan atau mengatur kunci rahasia untuk TripleDES algoritma. |
KeySize |
Mendapatkan atau mengatur ukuran, dalam bit, dari kunci rahasia yang digunakan oleh algoritma simetris. (Diperoleh dari SymmetricAlgorithm) |
LegalBlockSizes |
Mendapatkan ukuran blok, dalam bit, yang didukung oleh algoritma simetris. |
LegalBlockSizes |
Mendapatkan ukuran blok, dalam bit, yang didukung oleh algoritma simetris. (Diperoleh dari SymmetricAlgorithm) |
LegalKeySizes |
Mendapatkan ukuran kunci, dalam bit, yang didukung oleh algoritma simetris. |
LegalKeySizes |
Mendapatkan ukuran kunci, dalam bit, yang didukung oleh algoritma simetris. (Diperoleh dari SymmetricAlgorithm) |
Mode |
Mendapatkan atau mengatur mode untuk pengoperasian algoritma simetris. (Diperoleh dari SymmetricAlgorithm) |
Padding |
Mendapatkan atau mengatur mode padding yang digunakan dalam algoritma simetris. (Diperoleh dari SymmetricAlgorithm) |
Metode
Clear() |
Merilis semua sumber daya yang SymmetricAlgorithm digunakan oleh kelas . (Diperoleh dari SymmetricAlgorithm) |
Create() |
Membuat instans objek kriptografi untuk melakukan TripleDES algoritma. |
Create(String) |
Kedaluwarsa.
Membuat instans objek kriptografi untuk melakukan implementasi TripleDES algoritma yang ditentukan. |
CreateDecryptor() |
Membuat objek dekripsi simetris dengan properti saat ini Key dan vektor inisialisasi (IV). (Diperoleh dari SymmetricAlgorithm) |
CreateDecryptor(Byte[], Byte[]) |
Ketika ditimpa di kelas turunan, membuat objek dekripsi simetris dengan properti dan vektor inisialisasi yang ditentukan Key (IV). (Diperoleh dari SymmetricAlgorithm) |
CreateEncryptor() |
Membuat objek enkripsi simetris dengan properti saat ini Key dan vektor inisialisasi (IV). (Diperoleh dari SymmetricAlgorithm) |
CreateEncryptor(Byte[], Byte[]) |
Ketika ditimpa di kelas turunan, membuat objek enkripsi simetris dengan properti dan vektor inisialisasi yang ditentukan Key (IV). (Diperoleh dari SymmetricAlgorithm) |
DecryptCbc(Byte[], Byte[], PaddingMode) |
Mendekripsi data menggunakan mode CBC dengan mode padding yang ditentukan. (Diperoleh dari SymmetricAlgorithm) |
DecryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode) |
Mendekripsi data menggunakan mode CBC dengan mode padding yang ditentukan. (Diperoleh dari SymmetricAlgorithm) |
DecryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode) |
Mendekripsi data ke dalam buffer yang ditentukan, menggunakan mode CBC dengan mode padding yang ditentukan. (Diperoleh dari SymmetricAlgorithm) |
DecryptCfb(Byte[], Byte[], PaddingMode, Int32) |
Mendekripsi data menggunakan mode CFB dengan mode padding dan ukuran umpan balik yang ditentukan. (Diperoleh dari SymmetricAlgorithm) |
DecryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode, Int32) |
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) |
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) |
Mendekripsi data menggunakan mode ECB dengan mode padding yang ditentukan. (Diperoleh dari SymmetricAlgorithm) |
DecryptEcb(ReadOnlySpan<Byte>, PaddingMode) |
Mendekripsi data menggunakan mode ECB dengan mode padding yang ditentukan. (Diperoleh dari SymmetricAlgorithm) |
DecryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode) |
Mendekripsi data ke dalam buffer yang ditentukan, menggunakan mode ECB dengan mode padding yang ditentukan. (Diperoleh dari SymmetricAlgorithm) |
Dispose() |
Merilis semua sumber daya yang digunakan oleh instans SymmetricAlgorithm kelas saat ini. (Diperoleh dari SymmetricAlgorithm) |
Dispose(Boolean) |
Merilis sumber daya tidak terkelola yang SymmetricAlgorithm digunakan oleh dan secara opsional merilis sumber daya terkelola. (Diperoleh dari SymmetricAlgorithm) |
EncryptCbc(Byte[], Byte[], PaddingMode) |
Mengenkripsi data menggunakan mode CBC dengan mode padding yang ditentukan. (Diperoleh dari SymmetricAlgorithm) |
EncryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode) |
Mengenkripsi data menggunakan mode CBC dengan mode padding yang ditentukan. (Diperoleh dari SymmetricAlgorithm) |
EncryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode) |
Mengenkripsi data ke dalam buffer yang ditentukan, menggunakan mode CBC dengan mode padding yang ditentukan. (Diperoleh dari SymmetricAlgorithm) |
EncryptCfb(Byte[], Byte[], PaddingMode, Int32) |
Mengenkripsi data menggunakan mode CFB dengan mode padding dan ukuran umpan balik yang ditentukan. (Diperoleh dari SymmetricAlgorithm) |
EncryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode, Int32) |
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) |
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) |
Mengenkripsi data menggunakan mode ECB dengan mode padding yang ditentukan. (Diperoleh dari SymmetricAlgorithm) |
EncryptEcb(ReadOnlySpan<Byte>, PaddingMode) |
Mengenkripsi data menggunakan mode ECB dengan mode padding yang ditentukan. (Diperoleh dari SymmetricAlgorithm) |
EncryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode) |
Mengenkripsi data ke dalam buffer yang ditentukan, menggunakan mode ECB dengan mode padding yang ditentukan. (Diperoleh dari SymmetricAlgorithm) |
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
GenerateIV() |
Ketika ditimpa di kelas turunan, menghasilkan vektor inisialisasi acak (IV) untuk digunakan untuk algoritma. (Diperoleh dari SymmetricAlgorithm) |
GenerateKey() |
Ketika ditimpa di kelas turunan, menghasilkan kunci acak (Key) untuk digunakan untuk algoritma. (Diperoleh dari SymmetricAlgorithm) |
GetCiphertextLengthCbc(Int32, PaddingMode) |
Mendapatkan panjang ciphertext dengan mode padding dan panjang teks biasa tertentu dalam mode CBC. (Diperoleh dari SymmetricAlgorithm) |
GetCiphertextLengthCfb(Int32, PaddingMode, Int32) |
Mendapatkan panjang ciphertext dengan mode padding dan panjang teks biasa tertentu dalam mode CFB. (Diperoleh dari SymmetricAlgorithm) |
GetCiphertextLengthEcb(Int32, PaddingMode) |
Mendapatkan panjang ciphertext dengan mode padding dan panjang teks biasa tertentu dalam mode ECB. (Diperoleh dari SymmetricAlgorithm) |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetType() |
Mendapatkan instans Type saat ini. (Diperoleh dari Object) |
IsWeakKey(Byte[]) |
Menentukan apakah kunci yang ditentukan lemah. |
MemberwiseClone() |
Membuat salinan dangkal dari yang saat ini Object. (Diperoleh dari Object) |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
TryDecryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode) |
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) |
Ketika ditimpa dalam 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) |
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) |
Ketika 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) |
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) |
Ketika ditimpa di 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) |
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) |
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) |
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) |
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) |
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) |
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) |
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. Merilis sumber daya tidak terkelola yang SymmetricAlgorithm digunakan oleh dan secara opsional merilis sumber daya terkelola. (Diperoleh dari SymmetricAlgorithm) |