Share via


RC2CryptoServiceProvider Kelas

Definisi

Perhatian

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

Menentukan objek pembungkus untuk mengakses implementasi RC2 penyedia layanan kriptografi (CSP) algoritma. Kelas ini tidak dapat diwariskan.

public ref class RC2CryptoServiceProvider sealed : System::Security::Cryptography::RC2
public sealed class RC2CryptoServiceProvider : System.Security.Cryptography.RC2
[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 RC2CryptoServiceProvider : System.Security.Cryptography.RC2
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class RC2CryptoServiceProvider : System.Security.Cryptography.RC2
type RC2CryptoServiceProvider = class
    inherit RC2
[<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 RC2CryptoServiceProvider = class
    inherit RC2
[<System.Runtime.InteropServices.ComVisible(true)>]
type RC2CryptoServiceProvider = class
    inherit RC2
Public NotInheritable Class RC2CryptoServiceProvider
Inherits RC2
Warisan
RC2CryptoServiceProvider
Atribut

Contoh

Contoh kode berikut mengenkripsi lalu mendekripsi string.

using System;
using System.IO;
using System.Text;
using System.Security.Cryptography;

namespace RC2CryptoServiceProvider_Examples
{
    class MyMainClass
    {
        public static void Main()
        {

            // Create a new instance of the RC2CryptoServiceProvider class
            // and automatically generate a Key and IV.
            RC2CryptoServiceProvider rc2CSP = new RC2CryptoServiceProvider();

            Console.WriteLine("Effective key size is {0} bits.", rc2CSP.EffectiveKeySize);

            // Get the key and IV.
            byte[] key = rc2CSP.Key;
            byte[] IV = rc2CSP.IV;

            // Get an encryptor.
            ICryptoTransform encryptor = rc2CSP.CreateEncryptor(key, IV);

            // Encrypt the data as an array of encrypted bytes in memory.
            MemoryStream msEncrypt = new MemoryStream();
            CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write);

            // Convert the data to a byte array.
            string original = "Here is some data to encrypt.";
            byte[] toEncrypt = Encoding.ASCII.GetBytes(original);

            // Write all data to the crypto stream and flush it.
            csEncrypt.Write(toEncrypt, 0, toEncrypt.Length);
            csEncrypt.FlushFinalBlock();

            // Get the encrypted array of bytes.
            byte[] encrypted = msEncrypt.ToArray();

            ///////////////////////////////////////////////////////
            // This is where the data could be transmitted or saved.
            ///////////////////////////////////////////////////////

            //Get a decryptor that uses the same key and IV as the encryptor.
            ICryptoTransform decryptor = rc2CSP.CreateDecryptor(key, IV);

            // Now decrypt the previously encrypted message using the decryptor
            // obtained in the above step.
            MemoryStream msDecrypt = new MemoryStream(encrypted);
            CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read);

            // Read the decrypted bytes from the decrypting stream
            // and place them in a StringBuilder class.

            StringBuilder roundtrip = new StringBuilder();

            int b = 0;

            do
            {
                b = csDecrypt.ReadByte();

                if (b != -1)
                {
                    roundtrip.Append((char)b);
                }
            } while (b != -1);

            // Display the original data and the decrypted data.
            Console.WriteLine("Original:   {0}", original);
            Console.WriteLine("Round Trip: {0}", roundtrip);
        }
    }
}
Imports System.IO
Imports System.Text
Imports System.Security.Cryptography



Module Crypto

    Sub Main()

        ' Create a new instance of the RC2CryptoServiceProvider class
        ' and automatically generate a Key and IV.
        Dim rc2CSP As New RC2CryptoServiceProvider()

        Console.WriteLine("Effective key size is {0} bits.", rc2CSP.EffectiveKeySize)

        ' Get the key and IV.
        Dim key As Byte() = rc2CSP.Key
        Dim IV As Byte() = rc2CSP.IV

        ' Get an encryptor.
        Dim encryptor As ICryptoTransform = rc2CSP.CreateEncryptor(key, IV)

        ' Encrypt the data as an array of encrypted bytes in memory.
        Dim msEncrypt As New MemoryStream()
        Dim csEncrypt As New CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write)

        ' Convert the data to a byte array.
        Dim original As String = "Here is some data to encrypt."
        Dim toEncrypt As Byte() = Encoding.ASCII.GetBytes(original)

        ' Write all data to the crypto stream and flush it.
        csEncrypt.Write(toEncrypt, 0, toEncrypt.Length)
        csEncrypt.FlushFinalBlock()

        ' Get the encrypted array of bytes.
        Dim encrypted As Byte() = msEncrypt.ToArray()

        '''''''''''''''''''''''''''''''''''''''''''''''''''''''
        ' This is where the data could be transmitted or saved.
        '''''''''''''''''''''''''''''''''''''''''''''''''''''''

        'Get a decryptor that uses the same key and IV as the encryptor.
        Dim decryptor As ICryptoTransform = rc2CSP.CreateDecryptor(key, IV)

        ' Now decrypt the previously encrypted message using the decryptor
        ' obtained in the above step.
        Dim msDecrypt As New MemoryStream(encrypted)
        Dim csDecrypt As New CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read)

        ' Read the decrypted bytes from the decrypting stream
        ' and place them in a StringBuilder class.
        Dim roundtrip As New StringBuilder()

        Dim b As Integer = 0

        Do
            b = csDecrypt.ReadByte()

            If b <> -1 Then
                roundtrip.Append(ChrW(b))
            End If
        Loop While b <> -1

        ' Display the original data and the decrypted data.
        Console.WriteLine("Original:   {0}", original)
        Console.WriteLine("Round Trip: {0}", roundtrip)

    End Sub
End Module

Keterangan

Implementasi ini RC2CryptoServiceProvider mendukung panjang kunci dari 40 bit hingga 128 bit dalam kenaikan 8 bit.

Objek RC2CryptoServiceProvider adalah cipher blok yang mengenkripsi dan mendekripsi data dalam blok 8 byte. Kelas ini mendukung blok akhir data jika kurang dari 8 byte. Sebagai hasil dari padding ini, panjang data terenkripsi bisa lebih besar dari teks biasa asli.

Perhatikan bahwa RC2CryptoServiceProvider objek tidak menggunakan garam.

Catatan

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

Konstruktor

RC2CryptoServiceProvider()
Kedaluwarsa.

Menginisialisasi instans baru kelas RC2CryptoServiceProvider.

Bidang

BlockSizeValue
Kedaluwarsa.

Mewakili ukuran blok, dalam bit, dari operasi kriptografi.

(Diperoleh dari SymmetricAlgorithm)
EffectiveKeySizeValue
Kedaluwarsa.

Mewakili ukuran efektif kunci rahasia yang digunakan oleh RC2 algoritma dalam bit.

(Diperoleh dari RC2)
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)
EffectiveKeySize
Kedaluwarsa.

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

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 simetris.

(Diperoleh dari SymmetricAlgorithm)
KeySize
Kedaluwarsa.

Mendapatkan atau mengatur ukuran kunci rahasia yang digunakan oleh RC2 algoritma dalam bit.

(Diperoleh dari RC2)
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)
UseSalt
Kedaluwarsa.

Mendapatkan atau menetapkan nilai yang menentukan apakah akan membuat kunci dengan garam nilai nol sepanjang 11 byte.

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).

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

Membuat objek dekripsi simetris RC2 dengan kunci yang ditentukan (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 simetris RC2 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 SymmetricAlgorithm digunakan oleh 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 instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()
Kedaluwarsa.

Membuat salinan dangkal dari yang 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 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)
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.

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)
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.

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)
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 SymmetricAlgorithm digunakan oleh dan secara opsional merilis sumber daya terkelola.

(Diperoleh dari SymmetricAlgorithm)

Berlaku untuk

Lihat juga