RC2CryptoServiceProvider Osztály

Definíció

Figyelemfelhívás

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

Definiál egy burkolóobjektumot az algoritmus titkosítási szolgáltatói (CSP) implementációjának RC2 eléréséhez. Ez az osztály nem örökölhető.

public ref class RC2CryptoServiceProvider sealed : 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
public sealed class RC2CryptoServiceProvider : System.Security.Cryptography.RC2
[System.Runtime.InteropServices.ComVisible(true)]
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}")>]
type RC2CryptoServiceProvider = class
    inherit RC2
type RC2CryptoServiceProvider = class
    inherit RC2
[<System.Runtime.InteropServices.ComVisible(true)>]
type RC2CryptoServiceProvider = class
    inherit RC2
Public NotInheritable Class RC2CryptoServiceProvider
Inherits RC2
Öröklődés
RC2CryptoServiceProvider
Attribútumok

Példák

Az alábbi példakód titkosítja, majd visszafejti a sztringet.

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

Megjegyzések

Az RC2CryptoServiceProvider implementáció 40 bittől 128 bitig, 8 bites lépésekben támogatja a kulcshosszokat.

Az RC2CryptoServiceProvider objektum egy blokk titkosítása, amely 8 bájtos blokkokban titkosítja és fejti vissza az adatokat. Ez az osztály 8 bájtnál kisebb adatblokk esetén az utolsó adatblokkot is betölti. Ennek a kitöltésnek köszönhetően a titkosított adatok hossza nagyobb lehet, mint az eredeti egyszerű szöveg.

Vegye figyelembe, hogy az RC2CryptoServiceProvider objektum nem használ sót.

Note

Elérhető egy újabb szimmetrikus titkosítási algoritmus, az Advanced Encryption Standard (AES). Fontolja meg az Aes algoritmus és a származtatott osztályok használatát az RC2CryptoServiceProvider osztály helyett. Csak az örökölt alkalmazásokkal és adatokkal való kompatibilitáshoz használható RC2CryptoServiceProvider .

Konstruktorok

Name Description
RC2CryptoServiceProvider()
Elavult.

Inicializálja a RC2CryptoServiceProvider osztály új példányát.

Mezők

Name Description
BlockSizeValue
Elavult.

A titkosítási művelet blokkméretét jelöli bitekben.

(Öröklődés forrása SymmetricAlgorithm)
EffectiveKeySizeValue
Elavult.

Az algoritmus által RC2 bitekben használt titkos kulcs tényleges méretét jelöli.

(Öröklődés forrása RC2)
FeedbackSizeValue
Elavult.

A titkosítási művelet visszajelzési méretét jelöli bitekben.

(Öröklődés forrása SymmetricAlgorithm)
IVValue
Elavult.

A szimmetrikus algoritmus inicializálási vektorát (IV) jelöli.

(Öröklődés forrása SymmetricAlgorithm)
KeySizeValue
Elavult.

A szimmetrikus algoritmus által használt titkos kulcs méretét jelöli bitekben.

(Öröklődés forrása SymmetricAlgorithm)
KeyValue
Elavult.

A szimmetrikus algoritmus titkos kulcsát jelöli.

(Öröklődés forrása SymmetricAlgorithm)
LegalBlockSizesValue
Elavult.

Megadja a szimmetrikus algoritmus által támogatott blokkméreteket bitekben.

(Öröklődés forrása SymmetricAlgorithm)
LegalKeySizesValue
Elavult.

Megadja a szimmetrikus algoritmus által támogatott kulcsméreteket bitekben.

(Öröklődés forrása SymmetricAlgorithm)
ModeValue
Elavult.

A szimmetrikus algoritmusban használt titkosítási módot jelöli.

(Öröklődés forrása SymmetricAlgorithm)
PaddingValue
Elavult.

A szimmetrikus algoritmusban használt párnázási módot jelöli.

(Öröklődés forrása SymmetricAlgorithm)

Tulajdonságok

Name Description
BlockSize
Elavult.

Lekéri vagy beállítja a titkosítási művelet blokkméretét bitekben.

(Öröklődés forrása SymmetricAlgorithm)
EffectiveKeySize
Elavult.

Lekéri vagy beállítja az algoritmus által RC2 használt titkos kulcs tényleges méretét bitekben.

FeedbackSize
Elavult.

Bitekben lekéri vagy beállítja a titkosítási művelet visszajelzési méretét a titkosítási (CFB) és a kimeneti visszajelzési (OFB) titkosítási módokhoz.

(Öröklődés forrása SymmetricAlgorithm)
IV
Elavult.

Lekéri vagy beállítja a szimmetrikus algoritmus inicializálási vektorát (IV).

(Öröklődés forrása SymmetricAlgorithm)
Key
Elavult.

Lekéri vagy beállítja a szimmetrikus algoritmus titkos kulcsát.

(Öröklődés forrása SymmetricAlgorithm)
KeySize
Elavult.

Lekéri vagy beállítja az algoritmus által RC2 használt titkos kulcs méretét bitekben.

(Öröklődés forrása RC2)
LegalBlockSizes
Elavult.

Lekéri a szimmetrikus algoritmus által támogatott blokkméreteket bitekben.

(Öröklődés forrása SymmetricAlgorithm)
LegalKeySizes
Elavult.

Bitekben lekéri a szimmetrikus algoritmus által támogatott kulcsméreteket.

(Öröklődés forrása SymmetricAlgorithm)
Mode
Elavult.

Lekéri vagy beállítja a szimmetrikus algoritmus működési módját.

(Öröklődés forrása SymmetricAlgorithm)
Padding
Elavult.

Lekéri vagy beállítja a szimmetrikus algoritmusban használt párnázási módot.

(Öröklődés forrása SymmetricAlgorithm)
UseSalt
Elavult.

Lekéri vagy beállít egy értéket, amely meghatározza, hogy 11 bájt hosszú, nulla értékű sóval szeretne-e kulcsot létrehozni.

Metódusok

Name Description
Clear()
Elavult.

Az osztály által SymmetricAlgorithm használt összes erőforrást felszabadítja.

(Öröklődés forrása SymmetricAlgorithm)
CreateDecryptor()
Elavult.

Szimmetrikus visszafejtési objektumot hoz létre az aktuális Key tulajdonsággal és inicializálási vektorral (IV).

(Öröklődés forrása SymmetricAlgorithm)
CreateDecryptor(Byte[], Byte[])
Elavult.

Szimmetrikus RC2 visszafejtési objektumot hoz létre a megadott kulccsal (Key) és inicializálási vektorral (IV).

CreateEncryptor()
Elavult.

Szimmetrikus titkosító objektumot hoz létre az aktuális Key tulajdonsággal és inicializálási vektorral (IV).

(Öröklődés forrása SymmetricAlgorithm)
CreateEncryptor(Byte[], Byte[])
Elavult.

Szimmetrikus RC2 titkosító objektumot hoz létre a megadott kulccsal (Key) és inicializálási vektorral (IV).

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

Az adatok visszafejtése CBC módban a megadott kitöltési móddal.

(Öröklődés forrása SymmetricAlgorithm)
DecryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode)
Elavult.

Az adatok visszafejtése CBC módban a megadott kitöltési móddal.

(Öröklődés forrása SymmetricAlgorithm)
DecryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode)
Elavult.

Visszafejti az adatokat a megadott pufferbe CBC móddal a megadott kitöltési móddal.

(Öröklődés forrása SymmetricAlgorithm)
DecryptCfb(Byte[], Byte[], PaddingMode, Int32)
Elavult.

Az adatok visszafejtése CFB módban a megadott kitöltési móddal és visszajelzési mérettel.

(Öröklődés forrása SymmetricAlgorithm)
DecryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode, Int32)
Elavult.

Az adatok visszafejtése CFB módban a megadott kitöltési móddal és visszajelzési mérettel.

(Öröklődés forrása SymmetricAlgorithm)
DecryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Elavult.

Visszafejti az adatokat a megadott pufferbe, CFB módban a megadott kitöltési móddal és visszajelzési mérettel.

(Öröklődés forrása SymmetricAlgorithm)
DecryptEcb(Byte[], PaddingMode)
Elavult.

Az adatok visszafejtése EKB-módban, a megadott kitöltési móddal.

(Öröklődés forrása SymmetricAlgorithm)
DecryptEcb(ReadOnlySpan<Byte>, PaddingMode)
Elavult.

Az adatok visszafejtése EKB-módban, a megadott kitöltési móddal.

(Öröklődés forrása SymmetricAlgorithm)
DecryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode)
Elavult.

Visszafejti az adatokat a megadott pufferbe az EKB-mód és a megadott kitöltési mód használatával.

(Öröklődés forrása SymmetricAlgorithm)
Dispose()
Elavult.

Az osztály aktuális példánya által használt összes erőforrást felszabadítja SymmetricAlgorithm .

(Öröklődés forrása SymmetricAlgorithm)
Dispose(Boolean)
Elavult.

Felszabadítja a felügyelt erőforrások által SymmetricAlgorithm használt nem felügyelt erőforrásokat, és opcionálisan felszabadítja a felügyelt erőforrásokat.

(Öröklődés forrása SymmetricAlgorithm)
EncryptCbc(Byte[], Byte[], PaddingMode)
Elavult.

A megadott kitöltési móddal CBC módban titkosítja az adatokat.

(Öröklődés forrása SymmetricAlgorithm)
EncryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode)
Elavult.

A megadott kitöltési móddal CBC módban titkosítja az adatokat.

(Öröklődés forrása SymmetricAlgorithm)
EncryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode)
Elavult.

A megadott pufferbe titkosítja az adatokat A CBC mód és a megadott kitöltési mód használatával.

(Öröklődés forrása SymmetricAlgorithm)
EncryptCfb(Byte[], Byte[], PaddingMode, Int32)
Elavult.

CfB módban titkosítja az adatokat a megadott kitöltési móddal és visszajelzési mérettel.

(Öröklődés forrása SymmetricAlgorithm)
EncryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode, Int32)
Elavult.

CfB módban titkosítja az adatokat a megadott kitöltési móddal és visszajelzési mérettel.

(Öröklődés forrása SymmetricAlgorithm)
EncryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Elavult.

Titkosítja az adatokat a megadott pufferbe, CFB módban a megadott kitöltési móddal és visszajelzési mérettel.

(Öröklődés forrása SymmetricAlgorithm)
EncryptEcb(Byte[], PaddingMode)
Elavult.

A megadott kitöltési móddal titkosítja az adatokat EKB-módban.

(Öröklődés forrása SymmetricAlgorithm)
EncryptEcb(ReadOnlySpan<Byte>, PaddingMode)
Elavult.

A megadott kitöltési móddal titkosítja az adatokat EKB-módban.

(Öröklődés forrása SymmetricAlgorithm)
EncryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode)
Elavult.

A megadott pufferbe titkosítja az adatokat az EKB-mód és a megadott kitöltési mód használatával.

(Öröklődés forrása SymmetricAlgorithm)
Equals(Object)
Elavult.

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GenerateIV()
Elavult.

Létrehoz egy véletlenszerű inicializálási vektort (IV) az algoritmushoz.

GenerateKey()
Elavult.

Létrehoz egy véletlenszerű kulcsot (Key) az algoritmushoz.

GetCiphertextLengthCbc(Int32, PaddingMode)
Elavult.

Lekéri a titkosítási szöveg hosszát egy adott kitöltési móddal és egyszerű szöveghosszsal CBC módban.

(Öröklődés forrása SymmetricAlgorithm)
GetCiphertextLengthCfb(Int32, PaddingMode, Int32)
Elavult.

Lekéri a rejtjelek hosszát egy adott kitöltési móddal és egyszerű szöveghosszsal CFB módban.

(Öröklődés forrása SymmetricAlgorithm)
GetCiphertextLengthEcb(Int32, PaddingMode)
Elavult.

Lekéri a titkosítási szöveg hosszát egy adott kitöltési móddal és egyszerű szöveges hosszúsággal EKB módban.

(Öröklődés forrása SymmetricAlgorithm)
GetHashCode()
Elavult.

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetType()
Elavult.

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
MemberwiseClone()
Elavult.

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
SetKey(ReadOnlySpan<Byte>)
Elavult.

Beállítja a példány kulcsát.

(Öröklődés forrása SymmetricAlgorithm)
SetKeyCore(ReadOnlySpan<Byte>)
Elavult.

Beállítja a példány kulcsát.

(Öröklődés forrása SymmetricAlgorithm)
ToString()
Elavult.

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)
TryDecryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode)
Elavult.

Megkísérli visszafejteni az adatokat a megadott pufferbe CBC móddal a megadott kitöltési móddal.

(Öröklődés forrása SymmetricAlgorithm)
TryDecryptCbcCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Elavult.

Származtatott osztályban felülbírálva megkísérli visszafejteni az adatokat a megadott pufferbe CBC móddal a megadott kitöltési móddal.

(Öröklődés forrása SymmetricAlgorithm)
TryDecryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode, Int32)
Elavult.

Megkísérli visszafejteni az adatokat a megadott pufferbe CFB móddal a megadott kitöltési móddal és visszajelzési mérettel.

(Öröklődés forrása SymmetricAlgorithm)
TryDecryptCfbCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32, Int32)
Elavult.

Származtatott osztályban felülbírálva megkísérli visszafejteni az adatokat a megadott pufferbe, a megadott párnázási móddal és visszajelzési mérettel rendelkező CFB móddal.

(Öröklődés forrása SymmetricAlgorithm)
TryDecryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Elavult.

Megkísérli visszafejteni az adatokat a megadott pufferbe az EKB-mód és a megadott kitöltési mód használatával.

(Öröklődés forrása SymmetricAlgorithm)
TryDecryptEcbCore(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Elavult.

Származtatott osztályban felülbírálva megkísérli az adatok visszafejtését a megadott pufferbe az EKB-mód és a megadott kitöltési mód használatával.

(Öröklődés forrása SymmetricAlgorithm)
TryEncryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode)
Elavult.

Megkísérli az adatok titkosítását a megadott pufferbe CBC móddal a megadott kitöltési móddal.

(Öröklődés forrása SymmetricAlgorithm)
TryEncryptCbcCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Elavult.

Ha egy származtatott osztályban felülbírált, megkísérli az adatok titkosítását a megadott pufferbe cBC móddal, a megadott kitöltési móddal.

(Öröklődés forrása SymmetricAlgorithm)
TryEncryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode, Int32)
Elavult.

Megkísérli titkosítani az adatokat a megadott pufferbe, a megadott kitöltési móddal és visszajelzési mérettel rendelkező CFB módban.

(Öröklődés forrása SymmetricAlgorithm)
TryEncryptCfbCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32, Int32)
Elavult.

Ha egy származtatott osztályban felülbírált, megkísérli az adatok titkosítását a megadott pufferbe, CFB módban a megadott kitöltési móddal és visszajelzési mérettel.

(Öröklődés forrása SymmetricAlgorithm)
TryEncryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Elavult.

Megkísérli az adatok titkosítását a megadott pufferbe az EKB-mód és a megadott kitöltési mód használatával.

(Öröklődés forrása SymmetricAlgorithm)
TryEncryptEcbCore(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Elavult.

Ha egy származtatott osztályban felülbírálta az adatokat, megkísérli az adatok titkosítását a megadott pufferbe az EKB-mód és a megadott kitöltési mód használatával.

(Öröklődés forrása SymmetricAlgorithm)
ValidKeySize(Int32)
Elavult.

Meghatározza, hogy a megadott kulcsméret érvényes-e az aktuális algoritmusra.

(Öröklődés forrása SymmetricAlgorithm)

Explicit interfész-implementációk

Name Description
IDisposable.Dispose()

Ez az API a termékinfrastruktúrát támogatja, és közvetlenül a kódból nem használható.

Elavult.

Felszabadítja a felügyelt erőforrások által SymmetricAlgorithm használt nem felügyelt erőforrásokat, és opcionálisan felszabadítja a felügyelt erőforrásokat.

(Öröklődés forrása SymmetricAlgorithm)

A következőre érvényes:

Lásd még