RC2CryptoServiceProvider 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.
Mendefinisikan 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
- 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 mengalihkan 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 lama.
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 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) |