CryptoStream Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Veri akışlarını şifreleme dönüşümlerine bağlayan bir akış tanımlar.
public ref class CryptoStream : System::IO::Stream
public class CryptoStream : System.IO.Stream
[System.Runtime.InteropServices.ComVisible(true)]
public class CryptoStream : System.IO.Stream
type CryptoStream = class
inherit Stream
interface IDisposable
[<System.Runtime.InteropServices.ComVisible(true)>]
type CryptoStream = class
inherit Stream
interface IDisposable
Public Class CryptoStream
Inherits Stream
- Devralma
- Devralma
- Öznitelikler
- Uygulamalar
Örnekler
Aşağıdaki örnekte, bir dizeyi şifrelemek için bir CryptoStream nasıl kullanılacağı gösterilmektedir. Bu yöntem, belirtilen Key ve başlatma vektörleriyle (IV) Aes sınıfını kullanır.
using System;
using System.IO;
using System.Security.Cryptography;
class AesExample
{
public static void Main()
{
try
{
string original = "Here is some data to encrypt!";
// Create a new instance of the Aes class.
// This generates a new key and initialization vector (IV).
using (Aes myAes = Aes.Create())
{
// Encrypt the string to an array of bytes.
byte[] encrypted = EncryptStringToBytes(original, myAes.Key, myAes.IV);
// Decrypt the bytes to a string.
string roundtrip = DecryptStringFromBytes(encrypted, myAes.Key, myAes.IV);
// Display the original data and the decrypted data.
Console.WriteLine("Original: {0}", original);
Console.WriteLine("Round trip: {0}", roundtrip);
}
}
catch (Exception e)
{
Console.WriteLine("Error: {0}", e.Message);
}
}
static byte[] EncryptStringToBytes(string plainText, byte[] Key, byte[] IV)
{
// Check arguments.
if (plainText == null || plainText.Length <= 0)
throw new ArgumentNullException(nameof(plainText));
if (Key == null || Key.Length <= 0)
throw new ArgumentNullException(nameof(Key));
if (IV == null || IV.Length <= 0)
throw new ArgumentNullException(nameof(IV));
byte[] encrypted;
// Create a Aes object with the specified key and IV.
using (Aes aesAlg = Aes.Create())
{
aesAlg.Key = Key;
aesAlg.IV = IV;
// Create an encryptor to perform the stream transform.
ICryptoTransform encryptor = aesAlg.CreateEncryptor(aesAlg.Key, aesAlg.IV);
// Create the streams used for encryption.
using (MemoryStream msEncrypt = new())
{
using (CryptoStream csEncrypt = new(msEncrypt, encryptor, CryptoStreamMode.Write))
{
using (StreamWriter swEncrypt = new(csEncrypt))
{
// Write all data to the stream.
swEncrypt.Write(plainText);
}
encrypted = msEncrypt.ToArray();
}
}
}
// Return the encrypted bytes from the memory stream.
return encrypted;
}
static string DecryptStringFromBytes(byte[] cipherText, byte[] Key, byte[] IV)
{
// Check arguments.
if (cipherText == null || cipherText.Length <= 0)
throw new ArgumentNullException(nameof(cipherText));
if (Key == null || Key.Length <= 0)
throw new ArgumentNullException(nameof(Key));
if (IV == null || IV.Length <= 0)
throw new ArgumentNullException(nameof(IV));
// Declare the string used to hold the decrypted text.
string plaintext = null;
// Create a Aes object with the specified key and IV.
using (Aes aesAlg = Aes.Create())
{
aesAlg.Key = Key;
aesAlg.IV = IV;
// Create a decryptor to perform the stream transform.
ICryptoTransform decryptor = aesAlg.CreateDecryptor(aesAlg.Key, aesAlg.IV);
// Create the streams used for decryption.
using (MemoryStream msDecrypt = new(cipherText))
{
using (CryptoStream csDecrypt = new(msDecrypt, decryptor, CryptoStreamMode.Read))
{
using (StreamReader srDecrypt = new(csDecrypt))
{
// Read the decrypted bytes from the decrypting stream
// and place them in a string.
plaintext = srDecrypt.ReadToEnd();
}
}
}
}
return plaintext;
}
}
Imports System.IO
Imports System.Security.Cryptography
Class AesExample
Public Shared Sub Main()
Try
Dim original As String = "Here is some data to encrypt!"
' Create a new instance of the Aes class.
' This generates a new key and initialization vector (IV).
Using myAes = Aes.Create()
' Encrypt the string to an array of bytes.
Dim encrypted As Byte() = EncryptStringToBytes(original, myAes.Key, myAes.IV)
' Decrypt the bytes to a string.
Dim roundtrip As String = DecryptStringFromBytes(encrypted, myAes.Key, myAes.IV)
'Display the original data and the decrypted data.
Console.WriteLine("Original: {0}", original)
Console.WriteLine("Round Trip: {0}", roundtrip)
End Using
Catch e As Exception
Console.WriteLine("Error: {0}", e.Message)
End Try
End Sub
Shared Function EncryptStringToBytes(ByVal plainText As String, ByVal Key() As Byte, ByVal IV() As Byte) As Byte()
' Check arguments.
If plainText Is Nothing OrElse plainText.Length <= 0 Then
Throw New ArgumentNullException(NameOf(plainText))
End If
If Key Is Nothing OrElse Key.Length <= 0 Then
Throw New ArgumentNullException(NameOf(Key))
End If
If IV Is Nothing OrElse IV.Length <= 0 Then
Throw New ArgumentNullException(NameOf(IV))
End If
Dim encrypted() As Byte
' Create an Aes object with the specified key and IV.
Using aesAlg = Aes.Create()
aesAlg.Key = Key
aesAlg.IV = IV
' Create an encryptor to perform the stream transform.
Dim encryptor As ICryptoTransform = aesAlg.CreateEncryptor(aesAlg.Key, aesAlg.IV)
' Create the streams used for encryption.
Using msEncrypt As New MemoryStream()
Using csEncrypt As New CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write)
Using swEncrypt As New StreamWriter(csEncrypt)
' Write all data to the stream.
swEncrypt.Write(plainText)
End Using
encrypted = msEncrypt.ToArray()
End Using
End Using
End Using
' Return the encrypted bytes from the memory stream.
Return encrypted
End Function 'EncryptStringToBytes
Shared Function DecryptStringFromBytes(
ByVal cipherText() As Byte,
ByVal Key() As Byte,
ByVal IV() As Byte) As String
' Check arguments.
If cipherText Is Nothing OrElse cipherText.Length <= 0 Then
Throw New ArgumentNullException(NameOf(cipherText))
End If
If Key Is Nothing OrElse Key.Length <= 0 Then
Throw New ArgumentNullException(NameOf(Key))
End If
If IV Is Nothing OrElse IV.Length <= 0 Then
Throw New ArgumentNullException(NameOf(IV))
End If
' Declare the string used to hold the decrypted text.
Dim plaintext As String = Nothing
' Create an Aes object with the specified key and IV.
Using aesAlg = Aes.Create()
aesAlg.Key = Key
aesAlg.IV = IV
' Create a decryptor to perform the stream transform.
Dim decryptor As ICryptoTransform = aesAlg.CreateDecryptor(aesAlg.Key, aesAlg.IV)
' Create the streams used for decryption.
Using msDecrypt As New MemoryStream(cipherText)
Using csDecrypt As New CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read)
Using srDecrypt As New StreamReader(csDecrypt)
' Read the decrypted bytes from the decrypting stream
' and place them in a string.
plaintext = srDecrypt.ReadToEnd()
End Using
End Using
End Using
End Using
Return plaintext
End Function 'DecryptStringFromBytes
End Class
Açıklamalar
Ortak dil çalışma zamanı, şifreleme için akış odaklı bir tasarım kullanır. Bu tasarımın temeli CryptoStream. CryptoStream uygulayan tüm şifreleme nesneleri, Streamuygulayan tüm nesnelerle birlikte zincirlenebilir, böylece bir nesneden akışlı çıkış başka bir nesnenin girişine beslenebilir. Ara sonucun (ilk nesnenin çıktısı) ayrı olarak depolanması gerekmez.
Önemli
.NET 6 ve sonraki sürümlerde, Stream.Read
veya Stream.ReadAsync
N
uzunlukta bir arabellekle çağrıldığında, akıştan en az 1 bayt okunduğunda veya kaydırdığı temel akış Read
çağrısından 0 döndürdüğünde işlem tamamlanır ve başka veri olmadığını gösterir. .NET 6'dan önce, Stream.Read
ve Stream.ReadAsync
N
baytların tümü akıştan okunana veya temel alınan akış Read
çağrısından 0 döndürene kadar döndürülmüyordu. Kodunuz tüm N
baytlar okunana kadar Read
yöntemlerinin döndürülmeyeceğini varsayarsa, tüm içeriği okuyamaz. Daha fazla bilgi için bkz.akışlarda kısmi ve sıfır bayt okuma
Clear yöntemini çağırarak kullanmayı bitirdikten sonra CryptoStream nesnenizi her zaman açıkça kapatmanız gerekir. Bunu yaptığınızda temel alınan akış temizlenir ve kalan tüm veri bloklarının CryptoStream nesnesi tarafından işlenmesine neden olur. Ancak, Close yöntemini çağırmadan önce bir özel durum oluşursa, CryptoStream nesnesi kapatılamayabilir.
Close yönteminin her zaman çağrıldığından emin olmak için, try
/catch
deyiminin finally
bloğu içinde Clear yöntemine çağrınızı yerleştirin.
Bu tür IDisposable arabirimini uygular. türünü kullanmayı bitirdiğinizde, Clear yöntemini çağırarak doğrudan veya dolaylı olarak atmalısınız ve bu da IDisposable uygulamasını çağırır. Türü doğrudan atmak için Clear yöntemini bir try
/catch
bloğunda çağırın. Bunu dolaylı olarak atmak için using
(C#'de) veya Using
(Visual Basic'te) gibi bir dil yapısı kullanın.
Oluşturucular
CryptoStream(Stream, ICryptoTransform, CryptoStreamMode) |
Hedef veri akışı, kullanılacak dönüştürme ve akışın modu ile CryptoStream sınıfının yeni bir örneğini başlatır. |
CryptoStream(Stream, ICryptoTransform, CryptoStreamMode, Boolean) |
CryptoStream sınıfının yeni bir örneğini başlatır. |
Özellikler
CanRead |
Geçerli CryptoStream okunabilir olup olmadığını gösteren bir değer alır. |
CanSeek |
Geçerli CryptoStreamiçinde arama yapıp yapamayacağınızı belirten bir değer alır. |
CanTimeout |
Geçerli akışın zaman aşımına neden olup olmadığını belirleyen bir değer alır. (Devralındığı yer: Stream) |
CanWrite |
Geçerli CryptoStream yazılabilir olup olmadığını gösteren bir değer alır. |
HasFlushedFinalBlock |
Son arabellek bloğunun temel alınan akışa yazıp yazılmadığını belirten bir değer alır. |
Length |
Akışın bayt cinsinden uzunluğunu alır. |
Position |
Geçerli akış içindeki konumu alır veya ayarlar. |
ReadTimeout |
Akışın zaman aşımına uğramadan önce ne kadar süreyle okumayı deneyeceğini belirleyen bir değeri milisaniye cinsinden alır veya ayarlar. (Devralındığı yer: Stream) |
WriteTimeout |
Akışın zaman aşımına uğramadan önce ne kadar süreyle yazmaya çalışacağını belirleyen bir değeri milisaniye cinsinden alır veya ayarlar. (Devralındığı yer: Stream) |
Yöntemler
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) |
Zaman uyumsuz bir okuma işlemi başlatır. (Bunun yerine ReadAsync kullanmayı düşünün.) |
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) |
Zaman uyumsuz bir okuma işlemi başlatır. (Bunun yerine ReadAsync(Byte[], Int32, Int32) kullanmayı düşünün.) (Devralındığı yer: Stream) |
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) |
Zaman uyumsuz bir yazma işlemi başlatır. (Bunun yerine WriteAsync kullanmayı düşünün.) |
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) |
Zaman uyumsuz bir yazma işlemi başlatır. (Bunun yerine WriteAsync(Byte[], Int32, Int32) kullanmayı düşünün.) (Devralındığı yer: Stream) |
Clear() |
CryptoStreamtarafından kullanılan tüm kaynakları serbest bırakır. |
Close() |
Geçerli akışı kapatır ve geçerli akışla ilişkili tüm kaynakları (yuvalar ve dosya tanıtıcıları gibi) serbest bırakır. |
Close() |
Geçerli akışı kapatır ve geçerli akışla ilişkili tüm kaynakları (yuvalar ve dosya tanıtıcıları gibi) serbest bırakır. Bu yöntemi çağırmak yerine akışın düzgün şekilde atıldığından emin olun. (Devralındığı yer: Stream) |
CopyTo(Stream) |
Geçerli akıştan baytları okur ve başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir. (Devralındığı yer: Stream) |
CopyTo(Stream, Int32) |
Temel alınan akıştaki baytları okur, ilgili şifreleme dönüşümlerini uygular ve sonucu hedef akışa yazar. |
CopyTo(Stream, Int32) |
Geçerli akıştan baytları okur ve belirtilen arabellek boyutunu kullanarak başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir. (Devralındığı yer: Stream) |
CopyToAsync(Stream) |
Geçerli akıştan gelen baytları zaman uyumsuz olarak okur ve başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir. (Devralındığı yer: Stream) |
CopyToAsync(Stream, CancellationToken) |
Geçerli akıştan gelen baytları zaman uyumsuz olarak okur ve belirtilen iptal belirtecini kullanarak başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir. (Devralındığı yer: Stream) |
CopyToAsync(Stream, Int32) |
Geçerli akıştan gelen baytları zaman uyumsuz olarak okur ve belirtilen arabellek boyutunu kullanarak başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir. (Devralındığı yer: Stream) |
CopyToAsync(Stream, Int32, CancellationToken) |
Temel alınan akıştaki baytları zaman uyumsuz olarak okur, ilgili şifreleme dönüşümlerini uygular ve sonucu hedef akışa yazar. |
CopyToAsync(Stream, Int32, CancellationToken) |
Belirtilen arabellek boyutu ve iptal belirtecini kullanarak geçerli akıştan baytları zaman uyumsuz olarak okur ve başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir. (Devralındığı yer: Stream) |
CreateObjRef(Type) |
Uzak bir nesneyle iletişim kurmak için kullanılan bir ara sunucu oluşturmak için gereken tüm ilgili bilgileri içeren bir nesne oluşturur. (Devralındığı yer: MarshalByRefObject) |
CreateWaitHandle() |
Geçersiz.
Geçersiz.
Geçersiz.
bir WaitHandle nesnesi ayırır. (Devralındığı yer: Stream) |
Dispose() |
Streamtarafından kullanılan tüm kaynakları serbest bırakır. (Devralındığı yer: Stream) |
Dispose(Boolean) |
CryptoStream tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları serbest bırakır. |
DisposeAsync() |
CryptoStreamtarafından kullanılan yönetilmeyen kaynakları zaman uyumsuz olarak serbest bırakır. |
DisposeAsync() |
Streamtarafından kullanılan yönetilmeyen kaynakları zaman uyumsuz olarak serbest bırakır. (Devralındığı yer: Stream) |
EndRead(IAsyncResult) |
Bekleyen zaman uyumsuz okumanın tamamlanmasını bekler. (Bunun yerine ReadAsync kullanmayı düşünün.) |
EndRead(IAsyncResult) |
Bekleyen zaman uyumsuz okumanın tamamlanmasını bekler. (Bunun yerine ReadAsync(Byte[], Int32, Int32) kullanmayı düşünün.) (Devralındığı yer: Stream) |
EndWrite(IAsyncResult) |
Zaman uyumsuz yazma işlemini sonlandırır. (Bunun yerine WriteAsync kullanmayı düşünün.) |
EndWrite(IAsyncResult) |
Zaman uyumsuz yazma işlemini sonlandırır. (Bunun yerine WriteAsync(Byte[], Int32, Int32) kullanmayı düşünün.) (Devralındığı yer: Stream) |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
Finalize() |
Bir nesnenin, atık toplama tarafından geri kazanılmadan önce kaynakları boşaltmaya ve diğer temizleme işlemlerini gerçekleştirmeye çalışmasına izin verir. |
Flush() |
Geçerli akış için tüm arabellekleri temizler ve arabelleğe alınan verilerin temel alınan cihaza yazılmasına neden olur. |
FlushAsync() |
Bu akış için tüm arabellekleri zaman uyumsuz olarak temizler ve arabelleğe alınan verilerin temel alınan cihaza yazılmasına neden olur. (Devralındığı yer: Stream) |
FlushAsync(CancellationToken) |
Geçerli akış için tüm arabellekleri zaman uyumsuz olarak temizler, arabelleğe alınan verilerin temel alınan cihaza yazılmasına neden olur ve iptal isteklerini izler. |
FlushAsync(CancellationToken) |
Bu akış için tüm arabellekleri zaman uyumsuz olarak temizler, arabelleğe alınan verilerin temel alınan cihaza yazılmasına neden olur ve iptal isteklerini izler. (Devralındığı yer: Stream) |
FlushFinalBlock() |
Temel alınan veri kaynağını veya depoyu arabelleğin geçerli durumuyla güncelleştirir, ardından arabelleği temizler. |
FlushFinalBlockAsync(CancellationToken) |
Temel alınan veri kaynağını veya depoyu zaman uyumsuz olarak arabelleğin geçerli durumuyla güncelleştirir, ardından arabelleği temizler. |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetLifetimeService() |
Geçersiz.
Bu örnek için yaşam süresi ilkesini denetleen geçerli yaşam süresi hizmet nesnesini alır. (Devralındığı yer: MarshalByRefObject) |
GetType() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
InitializeLifetimeService() |
Geçersiz.
Bu örneğin yaşam süresi ilkesini denetlemek için bir yaşam süresi hizmet nesnesi alır. (Devralındığı yer: MarshalByRefObject) |
MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
MemberwiseClone(Boolean) |
Geçerli MarshalByRefObject nesnesinin sığ bir kopyasını oluşturur. (Devralındığı yer: MarshalByRefObject) |
ObjectInvariant() |
Geçersiz.
Contractiçin destek sağlar. (Devralındığı yer: Stream) |
Read(Byte[], Int32, Int32) |
Geçerli akıştan bir bayt dizisi okur ve okunan bayt sayısına göre akıştaki konumu ilerletir. |
Read(Span<Byte>) |
Türetilmiş bir sınıfta geçersiz kılındığında, geçerli akıştan bir bayt dizisi okur ve okunan bayt sayısına göre akış içindeki konumu ilerletir. (Devralındığı yer: Stream) |
ReadAsync(Byte[], Int32, Int32) |
Geçerli akıştan zaman uyumsuz olarak bir bayt dizisi okur ve okunan bayt sayısına göre akış içindeki konumu ilerletir. (Devralındığı yer: Stream) |
ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Geçerli akıştan zaman uyumsuz olarak bir bayt dizisi okur, okunan bayt sayısına göre akış içindeki konumu ilerletir ve iptal isteklerini izler. |
ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Geçerli akıştan zaman uyumsuz olarak bir bayt dizisi okur, okunan bayt sayısına göre akış içindeki konumu ilerletir ve iptal isteklerini izler. (Devralındığı yer: Stream) |
ReadAsync(Memory<Byte>, CancellationToken) |
Geçerli akıştan zaman uyumsuz olarak bir bayt dizisi okur, okunan bayt sayısına göre akış içindeki konumu ilerletir ve iptal isteklerini izler. |
ReadAsync(Memory<Byte>, CancellationToken) |
Geçerli akıştan zaman uyumsuz olarak bir bayt dizisi okur, okunan bayt sayısına göre akış içindeki konumu ilerletir ve iptal isteklerini izler. (Devralındığı yer: Stream) |
ReadAtLeast(Span<Byte>, Int32, Boolean) |
Geçerli akıştan en az bayt sayısını okur ve okunan bayt sayısına göre akış içindeki konumu ilerletir. (Devralındığı yer: Stream) |
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken) |
Geçerli akıştan en az en az sayıda bayt zaman uyumsuz olarak okur, okunan bayt sayısına göre akıştaki konumu ilerletir ve iptal isteklerini izler. (Devralındığı yer: Stream) |
ReadByte() |
Akıştan bir bayt okur ve akışın içindeki konumu bir bayt ilerletir veya akışın sonundaysa -1 döndürür. |
ReadByte() |
Akıştan bir bayt okur ve akışın içindeki konumu bir bayt ilerletir veya akışın sonundaysa -1 döndürür. (Devralındığı yer: Stream) |
ReadExactly(Byte[], Int32, Int32) |
Geçerli akıştan |
ReadExactly(Span<Byte>) |
Geçerli akıştan baytları okur ve |
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken) |
Geçerli akıştan |
ReadExactlyAsync(Memory<Byte>, CancellationToken) |
Geçerli akıştaki baytları zaman uyumsuz olarak okur, |
Seek(Int64, SeekOrigin) |
Geçerli akış içindeki konumu ayarlar. |
SetLength(Int64) |
Geçerli akışın uzunluğunu ayarlar. |
ToString() |
Geçerli nesneyi temsil eden bir dize döndürür. (Devralındığı yer: Object) |
Write(Byte[], Int32, Int32) |
Geçerli CryptoStream bir bayt dizisi yazar ve akıştaki geçerli konumu yazılan bayt sayısına göre ilerletir. |
Write(ReadOnlySpan<Byte>) |
Türetilmiş bir sınıfta geçersiz kılındığında, geçerli akışa bir bayt dizisi yazar ve yazılan bayt sayısıyla bu akıştaki geçerli konumu ilerletir. (Devralındığı yer: Stream) |
WriteAsync(Byte[], Int32, Int32) |
Zaman uyumsuz olarak geçerli akışa bir bayt dizisi yazar ve bu akıştaki geçerli konumu yazılan bayt sayısına göre ilerletir. (Devralındığı yer: Stream) |
WriteAsync(Byte[], Int32, Int32, CancellationToken) |
Geçerli akışa zaman uyumsuz olarak bir bayt dizisi yazar, akıştaki geçerli konumu yazılan bayt sayısına göre ilerletir ve iptal isteklerini izler. |
WriteAsync(Byte[], Int32, Int32, CancellationToken) |
Zaman uyumsuz olarak geçerli akışa bir bayt dizisi yazar, bu akıştaki geçerli konumu yazılan bayt sayısına göre ilerletir ve iptal isteklerini izler. (Devralındığı yer: Stream) |
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) |
Zaman uyumsuz olarak geçerli akışa bir bayt dizisi yazar, bu akıştaki geçerli konumu yazılan bayt sayısına göre ilerletir ve iptal isteklerini izler. |
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) |
Zaman uyumsuz olarak geçerli akışa bir bayt dizisi yazar, bu akıştaki geçerli konumu yazılan bayt sayısına göre ilerletir ve iptal isteklerini izler. (Devralındığı yer: Stream) |
WriteByte(Byte) |
Akıştaki geçerli konuma bir bayt yazar ve akış içindeki konumu bir bayt ilerletir. |
WriteByte(Byte) |
Akıştaki geçerli konuma bir bayt yazar ve akış içindeki konumu bir bayt ilerletir. (Devralındığı yer: Stream) |
Belirtik Arabirim Kullanımları
IDisposable.Dispose() |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. CryptoStream sınıfının geçerli örneği tarafından kullanılan kaynakları serbest bırakır. |
Uzantı Metotları
CopyToAsync(Stream, PipeWriter, CancellationToken) |
Stream baytları zaman uyumsuz olarak okur ve bir iptal belirteci kullanarak belirtilen PipeWriteryazar. |
ConfigureAwait(IAsyncDisposable, Boolean) |
Zaman uyumsuz bir atılabilir öğeden döndürülen görevlerde awaits işleminin nasıl gerçekleştirileceğini yapılandırılır. |
Şunlara uygulanır
Ayrıca bkz.
- Şifreleme Hizmetleri
- DeflateStream, GZipStream ve CryptoStream kısmi ve sıfır bayt okumaları