45e0a99977d358e33ddeb2a6e41164ee034c24fb
[platform/core/csapi/tizenfx.git] / pkg / Tizen.NET.API11 / build / tizen11.0 / ref / System.Security.Cryptography.Primitives.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <doc>
3   <assembly>
4     <name>System.Security.Cryptography.Primitives</name>
5   </assembly>
6   <members>
7     <member name="T:System.Security.Cryptography.AsymmetricAlgorithm">
8       <summary>Represents the abstract base class from which all implementations of asymmetric algorithms must inherit.</summary>
9     </member>
10     <member name="F:System.Security.Cryptography.AsymmetricAlgorithm.KeySizeValue">
11       <summary>Represents the size, in bits, of the key modulus used by the asymmetric algorithm.</summary>
12     </member>
13     <member name="F:System.Security.Cryptography.AsymmetricAlgorithm.LegalKeySizesValue">
14       <summary>Specifies the key sizes that are supported by the asymmetric algorithm.</summary>
15     </member>
16     <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.#ctor">
17       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm" /> class.</summary>
18       <exception cref="T:System.Security.Cryptography.CryptographicException">The implementation of the derived class is not valid.</exception>
19     </member>
20     <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.Clear">
21       <summary>Releases all resources used by the <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm" /> class.</summary>
22     </member>
23     <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.Create">
24       <summary>Creates a default cryptographic object used to perform the asymmetric algorithm.</summary>
25       <exception cref="T:System.PlatformNotSupportedException">.NET Core 2.0 - 3.1 and .NET 5.0 and later: In all cases.</exception>
26       <returns>A new <see cref="T:System.Security.Cryptography.RSACryptoServiceProvider" /> instance, unless the default settings have been changed with the &lt;cryptoClass&gt; element.</returns>
27     </member>
28     <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.Create(System.String)">
29       <summary>Creates an instance of the specified implementation of an asymmetric algorithm.</summary>
30       <param name="algName">The asymmetric algorithm implementation to use. The following table shows the valid values for the <paramref name="algName" /> parameter and the algorithms they map to.
31
32  <list type="table"><listheader><term> Parameter value</term><description> Implements</description></listheader><item><term> System.Security.Cryptography.AsymmetricAlgorithm</term><description><see cref="T:System.Security.Cryptography.AsymmetricAlgorithm" /></description></item><item><term> RSA</term><description><see cref="T:System.Security.Cryptography.RSA" /></description></item><item><term> System.Security.Cryptography.RSA</term><description><see cref="T:System.Security.Cryptography.RSA" /></description></item><item><term> DSA</term><description><see cref="T:System.Security.Cryptography.DSA" /></description></item><item><term> System.Security.Cryptography.DSA</term><description><see cref="T:System.Security.Cryptography.DSA" /></description></item><item><term> ECDsa</term><description><see cref="T:System.Security.Cryptography.ECDsa" /></description></item><item><term> ECDsaCng</term><description><see cref="T:System.Security.Cryptography.ECDsaCng" /></description></item><item><term> System.Security.Cryptography.ECDsaCng</term><description><see cref="T:System.Security.Cryptography.ECDsaCng" /></description></item><item><term> ECDH</term><description><see cref="T:System.Security.Cryptography.ECDiffieHellman" /></description></item><item><term> ECDiffieHellman</term><description><see cref="T:System.Security.Cryptography.ECDiffieHellman" /></description></item><item><term> ECDiffieHellmanCng</term><description><see cref="T:System.Security.Cryptography.ECDiffieHellmanCng" /></description></item><item><term> System.Security.Cryptography.ECDiffieHellmanCng</term><description><see cref="T:System.Security.Cryptography.ECDiffieHellmanCng" /></description></item></list></param>
33       <returns>A new instance of the specified asymmetric algorithm implementation.</returns>
34     </member>
35     <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.Dispose">
36       <summary>Releases all resources used by the current instance of the <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm" /> class.</summary>
37     </member>
38     <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.Dispose(System.Boolean)">
39       <summary>Releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm" /> class and optionally releases the managed resources.</summary>
40       <param name="disposing">
41         <see langword="true" /> to release both managed and unmanaged resources; <see langword="false" /> to release only unmanaged resources.</param>
42     </member>
43     <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.ExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.PbeParameters)">
44       <summary>Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a byte-based password.</summary>
45       <param name="passwordBytes">The bytes to use as a password when encrypting the key material.</param>
46       <param name="pbeParameters">The password-based encryption (PBE) parameters to use when encrypting the key material.</param>
47       <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.
48
49 -or-
50
51 <paramref name="pbeParameters" /> indicates that <see cref="F:System.Security.Cryptography.PbeEncryptionAlgorithm.TripleDes3KeyPkcs12" /> should be used, which requires <see cref="T:System.Char" />-based passwords.</exception>
52       <returns>A byte array containing the PKCS#8 EncryptedPrivateKeyInfo representation of this key.</returns>
53     </member>
54     <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.ExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters)">
55       <summary>Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a char-based password.</summary>
56       <param name="password">The password to use when encrypting the key material.</param>
57       <param name="pbeParameters">The password-based encryption (PBE) parameters to use when encrypting the key material.</param>
58       <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
59       <returns>A byte array containing the PKCS#8 EncryptedPrivateKeyInfo representation of this key.</returns>
60     </member>
61     <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.ExportPkcs8PrivateKey">
62       <summary>Exports the current key in the PKCS#8 PrivateKeyInfo format.</summary>
63       <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
64       <returns>A byte array containing the PKCS#8 PrivateKeyInfo representation of this key.</returns>
65     </member>
66     <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.ExportSubjectPublicKeyInfo">
67       <summary>Exports the public-key portion of the current key in the X.509 SubjectPublicKeyInfo format.</summary>
68       <returns>A byte array containing the X.509 SubjectPublicKeyInfo representation of the public-key portion of this key.</returns>
69     </member>
70     <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.FromXmlString(System.String)">
71       <summary>When overridden in a derived class, reconstructs an <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm" /> object from an XML string. Otherwise, throws a <see cref="T:System.NotImplementedException" />.</summary>
72       <param name="xmlString">The XML string to use to reconstruct the <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm" /> object.</param>
73     </member>
74     <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Int32@)">
75       <summary>When overridden in a derived class, imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a byte-based password, replacing the keys for this object.</summary>
76       <param name="passwordBytes">The bytes to use as a password when decrypting the key material.</param>
77       <param name="source">The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.</param>
78       <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
79       <exception cref="T:System.Security.Cryptography.CryptographicException">The password is incorrect.
80
81 -or-
82
83 The contents of <paramref name="source" /> indicate the Key Derivation Function (KDF) to apply is the legacy PKCS#12 KDF, which requires <see cref="T:System.Char" />-based passwords.
84
85 -or-
86
87 The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
88
89 -or-
90
91 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
92
93 -or-
94
95 The contents of <paramref name="source" /> represent the key in a format that is not supported.
96
97 -or-
98
99 The algorithm-specific key import failed.</exception>
100       <exception cref="T:System.NotImplementedException">A derived type has not overriden this member.</exception>
101     </member>
102     <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte},System.Int32@)">
103       <summary>When overridden in a derived class, imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a char-based password, replacing the keys for this object.</summary>
104       <param name="password">The password to use for decrypting the key material.</param>
105       <param name="source">The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.</param>
106       <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
107       <exception cref="T:System.Security.Cryptography.CryptographicException">The password is incorrect.
108
109 -or-
110
111 The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
112
113 -or-
114
115 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
116
117 -or-
118
119 The contents of <paramref name="source" /> represent the key in a format that is not supported.
120
121 -or-
122
123 The algorithm-specific key import failed.</exception>
124       <exception cref="T:System.NotImplementedException">A derived type has not overriden this member.</exception>
125     </member>
126     <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte})">
127       <summary>When overridden in a derived class, imports an encrypted RFC 7468 PEM-encoded key, replacing the keys for this object.</summary>
128       <param name="input">The PEM text of the encrypted key to import.</param>
129       <param name="passwordBytes">The bytes to use as a password when decrypting the key material.</param>
130       <exception cref="T:System.NotImplementedException">A derived type has not overridden this member.</exception>
131     </member>
132     <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Char})">
133       <summary>When overridden in a derived class, imports an encrypted RFC 7468 PEM-encoded key, replacing the keys for this object.</summary>
134       <param name="input">The PEM text of the encrypted key to import.</param>
135       <param name="password">The password to use for decrypting the key material.</param>
136       <exception cref="T:System.NotImplementedException">A derived type has not overridden this member.</exception>
137     </member>
138     <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.ImportFromPem(System.ReadOnlySpan{System.Char})">
139       <summary>When overridden in a derived class, imports an RFC 7468 textually encoded key, replacing the keys for this object.</summary>
140       <param name="input">The text of the PEM key to import.</param>
141       <exception cref="T:System.NotImplementedException">A derived type has not overridden this member.</exception>
142     </member>
143     <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.ImportPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.Int32@)">
144       <summary>When overriden in a derived class, imports the public/private keypair from a PKCS#8 PrivateKeyInfo structure after decryption, replacing the keys for this object.</summary>
145       <param name="source">The bytes of a PKCS#8 PrivateKeyInfo structure in the ASN.1-BER encoding.</param>
146       <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
147       <exception cref="T:System.Security.Cryptography.CryptographicException">The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 PrivateKeyInfo structure.
148
149 -or-
150
151 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
152
153 -or-
154
155 The contents of <paramref name="source" /> represent the key in a format that is not supported.
156
157 -or-
158
159 The algorithm-specific key import failed.</exception>
160       <exception cref="T:System.NotImplementedException">A derived type has not overriden this member.</exception>
161     </member>
162     <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.ImportSubjectPublicKeyInfo(System.ReadOnlySpan{System.Byte},System.Int32@)">
163       <summary>When overriden in a derived class, imports the public key from an X.509 SubjectPublicKeyInfo structure after decryption, replacing the keys for this object.</summary>
164       <param name="source">The bytes of an X.509 SubjectPublicKeyInfo structure in the ASN.1-DER encoding.</param>
165       <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
166       <exception cref="T:System.Security.Cryptography.CryptographicException">The contents of <paramref name="source" /> do not represent an ASN.1-DER-encoded X.509 SubjectPublicKeyInfo structure.
167
168 -or-
169
170 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
171
172 -or-
173
174 The contents of <paramref name="source" /> represent the key in a format that is not supported.
175
176 -or-
177
178 The algorithm-specific key import failed.</exception>
179       <exception cref="T:System.NotImplementedException">A derived type has not overriden this member.</exception>
180     </member>
181     <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.ToXmlString(System.Boolean)">
182       <summary>When overridden in a derived class, creates and returns an XML string representation of the current <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm" /> object. Otherwise, throws a <see cref="T:System.NotImplementedException" />.</summary>
183       <param name="includePrivateParameters">
184         <see langword="true" /> to include private parameters; otherwise, <see langword="false" />.</param>
185       <returns>An XML string encoding of the current <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm" /> object.</returns>
186     </member>
187     <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
188       <summary>When overridden in a derived class, attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a byte-based password.</summary>
189       <param name="passwordBytes">The bytes to use as a password when encrypting the key material.</param>
190       <param name="pbeParameters">The password-based encryption (PBE) parameters to use when encrypting the key material.</param>
191       <param name="destination">The byte span to receive the PKCS#8 EncryptedPrivateKeyInfo data.</param>
192       <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
193       <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.
194
195 -or-
196
197 <paramref name="pbeParameters" /> indicates that <see cref="F:System.Security.Cryptography.PbeEncryptionAlgorithm.TripleDes3KeyPkcs12" /> should be used, which requires <see cref="T:System.Char" />-based passwords.</exception>
198       <exception cref="T:System.NotImplementedException">A derived type has not overriden this member.</exception>
199       <returns>
200         <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
201     </member>
202     <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
203       <summary>When overriden in a derived class, attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a char-based password.</summary>
204       <param name="password">The password to use when encrypting the key material.</param>
205       <param name="pbeParameters">The password-based encryption (PBE) parameters to use when encrypting the key material.</param>
206       <param name="destination">The byte span to receive the PKCS#8 EncryptedPrivateKeyInfo data.</param>
207       <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
208       <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
209       <exception cref="T:System.NotImplementedException">A derived type has not overriden this member.</exception>
210       <returns>
211         <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
212     </member>
213     <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.TryExportPkcs8PrivateKey(System.Span{System.Byte},System.Int32@)">
214       <summary>When overridden in a derived class, attempts to export the current key in the PKCS#8 PrivateKeyInfo format into a provided buffer.</summary>
215       <param name="destination">The byte span to receive the PKCS#8 PrivateKeyInfo data.</param>
216       <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
217       <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
218       <exception cref="T:System.NotImplementedException">A derived type has not overriden this member.</exception>
219       <returns>
220         <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
221     </member>
222     <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.TryExportSubjectPublicKeyInfo(System.Span{System.Byte},System.Int32@)">
223       <summary>When overridden in a derived class, attempts to export the current key in the X.509 SubjectPublicKeyInfo format into a provided buffer.</summary>
224       <param name="destination">The byte span to receive the X.509 SubjectPublicKeyInfo data.</param>
225       <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
226       <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
227       <exception cref="T:System.NotImplementedException">A derived type has not overriden this member.</exception>
228       <returns>
229         <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
230     </member>
231     <member name="P:System.Security.Cryptography.AsymmetricAlgorithm.KeyExchangeAlgorithm">
232       <summary>When overridden in a derived class, gets the name of the key exchange algorithm. Otherwise, throws an <see cref="T:System.NotImplementedException" />.</summary>
233       <returns>The name of the key exchange algorithm.</returns>
234     </member>
235     <member name="P:System.Security.Cryptography.AsymmetricAlgorithm.KeySize">
236       <summary>Gets or sets the size, in bits, of the key modulus used by the asymmetric algorithm.</summary>
237       <exception cref="T:System.Security.Cryptography.CryptographicException">The key modulus size is invalid.</exception>
238       <returns>The size, in bits, of the key modulus used by the asymmetric algorithm.</returns>
239     </member>
240     <member name="P:System.Security.Cryptography.AsymmetricAlgorithm.LegalKeySizes">
241       <summary>Gets the key sizes that are supported by the asymmetric algorithm.</summary>
242       <returns>An array that contains the key sizes supported by the asymmetric algorithm.</returns>
243     </member>
244     <member name="P:System.Security.Cryptography.AsymmetricAlgorithm.SignatureAlgorithm">
245       <summary>When implemented in a derived class, gets the name of the signature algorithm. Otherwise, always throws a <see cref="T:System.NotImplementedException" />.</summary>
246       <returns>The name of the signature algorithm.</returns>
247     </member>
248     <member name="T:System.Security.Cryptography.CipherMode">
249       <summary>Specifies the block cipher mode to use for encryption.</summary>
250     </member>
251     <member name="F:System.Security.Cryptography.CipherMode.CBC">
252       <summary>The Cipher Block Chaining (<see langword="CBC" />) mode introduces feedback. Before each plain text block is encrypted, it is combined with the cipher text of the previous block by a bitwise exclusive OR operation. This ensures that even if the plain text contains many identical blocks, they will each encrypt to a different cipher text block. The initialization vector is combined with the first plain text block by a bitwise exclusive OR operation before the block is encrypted. If a single bit of the cipher text block is mangled, the corresponding plain text block will also be mangled. In addition, a bit in the subsequent block, in the same position as the original mangled bit, will be mangled.</summary>
253     </member>
254     <member name="F:System.Security.Cryptography.CipherMode.CFB">
255       <summary>The Cipher Feedback (<see langword="CFB" />) mode processes small increments of plain text into cipher text, instead of processing an entire block at a time. This mode uses a shift register that is one block in length and is divided into sections. For example, if the block size is 8 bytes, with one byte processed at a time, the shift register is divided into eight sections. If a bit in the cipher text is mangled, one plain text bit is mangled and the shift register is corrupted. This results in the next several plain text increments being mangled until the bad bit is shifted out of the shift register. The default feedback size can vary by algorithm, but is typically either 8 bits or the number of bits of the block size. You can alter the number of feedback bits by using the <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.FeedbackSize" /> property. Algorithms that support CFB use this property to set the feedback.</summary>
256     </member>
257     <member name="F:System.Security.Cryptography.CipherMode.CTS">
258       <summary>The Cipher Text Stealing (<see langword="CTS" />) mode handles any length of plain text and produces cipher text whose length matches the plain text length. This mode behaves like the <see langword="CBC" /> mode for all but the last two blocks of the plain text.</summary>
259     </member>
260     <member name="F:System.Security.Cryptography.CipherMode.ECB">
261       <summary>The Electronic Codebook (<see langword="ECB" />) mode encrypts each block individually. Any blocks of plain text that are identical and in the same message, or that are in a different message encrypted with the same key, will be transformed into identical cipher text blocks. Important:  This mode is not recommended because it opens the door for multiple security exploits. If the plain text to be encrypted contains substantial repetition, it is feasible for the cipher text to be broken one block at a time. It is also possible to use block analysis to determine the encryption key. Also, an active adversary can substitute and exchange individual blocks without detection, which allows blocks to be saved and inserted into the stream at other points without detection.</summary>
262     </member>
263     <member name="F:System.Security.Cryptography.CipherMode.OFB">
264       <summary>The Output Feedback (<see langword="OFB" />) mode processes small increments of plain text into cipher text instead of processing an entire block at a time. This mode is similar to <see langword="CFB" />; the only difference between the two modes is the way that the shift register is filled. If a bit in the cipher text is mangled, the corresponding bit of plain text will be mangled. However, if there are extra or missing bits from the cipher text, the plain text will be mangled from that point on.</summary>
265     </member>
266     <member name="T:System.Security.Cryptography.CryptographicOperations">
267       <summary>Provides methods for use in working with cryptography to reduce the risk of side-channel information leakage.</summary>
268     </member>
269     <member name="M:System.Security.Cryptography.CryptographicOperations.FixedTimeEquals(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
270       <summary>Determines the equality of two byte sequences in an amount of time that depends on the length of the sequences, but not their values.</summary>
271       <param name="left">The first buffer to compare.</param>
272       <param name="right">The second buffer to compare.</param>
273       <returns>
274         <see langword="true" /> if <paramref name="left" /> and <paramref name="right" /> have the same values for <see cref="P:System.ReadOnlySpan`1.Length" /> and the same contents; otherwise, <see langword="false" />.</returns>
275     </member>
276     <member name="M:System.Security.Cryptography.CryptographicOperations.ZeroMemory(System.Span{System.Byte})">
277       <summary>Fills the provided buffer with zeros.</summary>
278       <param name="buffer">The buffer to fill with zeros.</param>
279     </member>
280     <member name="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">
281       <summary>The exception that is thrown when an unexpected operation occurs during a cryptographic operation.</summary>
282     </member>
283     <member name="M:System.Security.Cryptography.CryptographicUnexpectedOperationException.#ctor">
284       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException" /> class with default properties.</summary>
285     </member>
286     <member name="M:System.Security.Cryptography.CryptographicUnexpectedOperationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
287       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException" /> class with serialized data.</summary>
288       <param name="info">The object that holds the serialized object data.</param>
289       <param name="context">The contextual information about the source or destination.</param>
290     </member>
291     <member name="M:System.Security.Cryptography.CryptographicUnexpectedOperationException.#ctor(System.String)">
292       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException" /> class with a specified error message.</summary>
293       <param name="message">The error message that explains the reason for the exception.</param>
294     </member>
295     <member name="M:System.Security.Cryptography.CryptographicUnexpectedOperationException.#ctor(System.String,System.Exception)">
296       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException" /> class with a specified error message and a reference to the inner exception that is the cause of this exception.</summary>
297       <param name="message">The error message that explains the reason for the exception.</param>
298       <param name="inner">The exception that is the cause of the current exception. If the <paramref name="inner" /> parameter is not <see langword="null" />, the current exception is raised in a <see langword="catch" /> block that handles the inner exception.</param>
299     </member>
300     <member name="M:System.Security.Cryptography.CryptographicUnexpectedOperationException.#ctor(System.String,System.String)">
301       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException" /> class with a specified error message in the specified format.</summary>
302       <param name="format">The format used to output the error message.</param>
303       <param name="insert">The error message that explains the reason for the exception.</param>
304     </member>
305     <member name="T:System.Security.Cryptography.CryptoStream">
306       <summary>Defines a stream that links data streams to cryptographic transformations.</summary>
307     </member>
308     <member name="M:System.Security.Cryptography.CryptoStream.#ctor(System.IO.Stream,System.Security.Cryptography.ICryptoTransform,System.Security.Cryptography.CryptoStreamMode)">
309       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.CryptoStream" /> class with a target data stream, the transformation to use, and the mode of the stream.</summary>
310       <param name="stream">The stream on which to perform the cryptographic transformation.</param>
311       <param name="transform">The cryptographic transformation that is to be performed on the stream.</param>
312       <param name="mode">One of the <see cref="T:System.Security.Cryptography.CryptoStreamMode" /> values.</param>
313       <exception cref="T:System.ArgumentException">
314         <paramref name="stream" /> is invalid.</exception>
315     </member>
316     <member name="M:System.Security.Cryptography.CryptoStream.#ctor(System.IO.Stream,System.Security.Cryptography.ICryptoTransform,System.Security.Cryptography.CryptoStreamMode,System.Boolean)">
317       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.CryptoStream" /> class.</summary>
318       <param name="stream">The stream on which to perform the cryptographic transformation.</param>
319       <param name="transform">The cryptographic transformation that is to be performed on the stream.</param>
320       <param name="mode">The mode of the stream.</param>
321       <param name="leaveOpen">
322         <see langword="true" /> to not close the underlying stream when the <see cref="T:System.Security.Cryptography.CryptoStream" /> object is disposed; otherwise, <see langword="false" />.</param>
323       <exception cref="T:System.ArgumentException">
324         <paramref name="mode" /> is invalid.</exception>
325     </member>
326     <member name="M:System.Security.Cryptography.CryptoStream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)">
327       <summary>Begins an asynchronous read operation. (Consider using <see cref="Overload:System.Security.Cryptography.CryptoStream.ReadAsync" /> instead.)</summary>
328       <param name="buffer">The buffer to read the data into.</param>
329       <param name="offset">The byte offset in <paramref name="buffer" /> at which to begin writing data read from the stream.</param>
330       <param name="count">The maximum number of bytes to read.</param>
331       <param name="callback">An optional asynchronous callback, to be called when the read is complete.</param>
332       <param name="state">A user-provided object that distinguishes this particular asynchronous read request from other requests.</param>
333       <exception cref="T:System.IO.IOException">Attempted an asynchronous read past the end of the stream, or a disk error occurred.</exception>
334       <exception cref="T:System.ArgumentException">One or more of the arguments is invalid.</exception>
335       <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed.</exception>
336       <exception cref="T:System.NotSupportedException">The current <see langword="Stream" /> implementation does not support the read operation.</exception>
337       <returns>An <see cref="T:System.IAsyncResult" /> that represents the asynchronous read, which could still be pending.</returns>
338     </member>
339     <member name="M:System.Security.Cryptography.CryptoStream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)">
340       <summary>Begins an asynchronous write operation. (Consider using <see cref="Overload:System.Security.Cryptography.CryptoStream.WriteAsync" /> instead.)</summary>
341       <param name="buffer">The buffer to write data from.</param>
342       <param name="offset">The byte offset in <paramref name="buffer" /> from which to begin writing.</param>
343       <param name="count">The maximum number of bytes to write.</param>
344       <param name="callback">An optional asynchronous callback, to be called when the write is complete.</param>
345       <param name="state">A user-provided object that distinguishes this particular asynchronous write request from other requests.</param>
346       <exception cref="T:System.IO.IOException">Attempted an asynchronous write past the end of the stream, or a disk error occurred.</exception>
347       <exception cref="T:System.ArgumentException">One or more of the arguments is invalid.</exception>
348       <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed.</exception>
349       <exception cref="T:System.NotSupportedException">The current <see langword="Stream" /> implementation does not support the write operation.</exception>
350       <returns>An <see langword="IAsyncResult" /> that represents the asynchronous write, which could still be pending.</returns>
351     </member>
352     <member name="M:System.Security.Cryptography.CryptoStream.Clear">
353       <summary>Releases all resources used by the <see cref="T:System.Security.Cryptography.CryptoStream" />.</summary>
354     </member>
355     <member name="M:System.Security.Cryptography.CryptoStream.CopyTo(System.IO.Stream,System.Int32)">
356       <summary>Reads the bytes from the underlying stream, applies the relevant cryptographic transforms, and writes the result to the destination stream.</summary>
357       <param name="destination">The stream to which the contents of the current stream will be copied.</param>
358       <param name="bufferSize">The size, in bytes, of the buffer to use for reading from the underlying stream. This value must be greater than zero. The default size is 81920 bytes.</param>
359       <exception cref="T:System.ArgumentNullException">
360         <paramref name="destination" /> is <see langword="null" />.</exception>
361       <exception cref="T:System.ArgumentOutOfRangeException">
362         <paramref name="bufferSize" /> is negative or zero.</exception>
363       <exception cref="T:System.NotSupportedException">The current stream does not support reading.  
364   
365  -or-  
366   
367  <paramref name="destination" /> does not support writing.</exception>
368       <exception cref="T:System.ObjectDisposedException">Either the current stream or <paramref name="destination" /> were closed before the <see cref="M:System.IO.Stream.CopyTo(System.IO.Stream)" /> method was called.</exception>
369       <exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
370       <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred during a cryptographic operation.</exception>
371     </member>
372     <member name="M:System.Security.Cryptography.CryptoStream.CopyToAsync(System.IO.Stream,System.Int32,System.Threading.CancellationToken)">
373       <summary>Asynchronously reads the bytes from the underlying stream, applies the relevant cryptographic transforms, and writes the result to the destination stream.</summary>
374       <param name="destination">The stream to which the contents of the current stream will be copied.</param>
375       <param name="bufferSize">The size, in bytes, of the buffer. This value must be greater than zero. The default size is 81920.</param>
376       <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None" />.</param>
377       <exception cref="T:System.ArgumentNullException">
378         <paramref name="destination" /> is <see langword="null" />.</exception>
379       <exception cref="T:System.ArgumentOutOfRangeException">
380         <paramref name="buffersize" /> is negative or zero.</exception>
381       <exception cref="T:System.ObjectDisposedException">Either the current stream or the destination stream is disposed.</exception>
382       <exception cref="T:System.NotSupportedException">The current stream does not support reading, or the destination stream does not support writing.</exception>
383       <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred during a cryptographic operation.</exception>
384       <returns>A task that represents the asynchronous copy operation.</returns>
385     </member>
386     <member name="M:System.Security.Cryptography.CryptoStream.Dispose(System.Boolean)">
387       <summary>Releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.CryptoStream" /> and optionally releases the managed resources.</summary>
388       <param name="disposing">
389         <see langword="true" /> to release both managed and unmanaged resources; <see langword="false" /> to release only unmanaged resources.</param>
390     </member>
391     <member name="M:System.Security.Cryptography.CryptoStream.DisposeAsync">
392       <summary>Asynchronously releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.CryptoStream" />.</summary>
393       <returns>A task that represents the asynchronous dispose operation.</returns>
394     </member>
395     <member name="M:System.Security.Cryptography.CryptoStream.EndRead(System.IAsyncResult)">
396       <summary>Waits for the pending asynchronous read to complete. (Consider using <see cref="Overload:System.Security.Cryptography.CryptoStream.ReadAsync" /> instead.)</summary>
397       <param name="asyncResult">The reference to the pending asynchronous request to finish.</param>
398       <exception cref="T:System.ArgumentNullException">
399         <paramref name="asyncResult" /> is <see langword="null" />.</exception>
400       <exception cref="T:System.ArgumentException">A handle to the pending read operation is not available.  
401   
402  -or-  
403   
404  The pending operation does not support reading.</exception>
405       <exception cref="T:System.InvalidOperationException">
406         <paramref name="asyncResult" /> did not originate from a <see cref="M:System.Security.Cryptography.CryptoStream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)" /> method on the current stream.</exception>
407       <exception cref="T:System.IO.IOException">The stream is closed or an internal error has occurred.</exception>
408       <returns>The number of bytes read from the stream, between zero (0) and the number of bytes you requested. Streams return zero (0) only at the end of the stream, otherwise, they should block until at least one byte is available.</returns>
409     </member>
410     <member name="M:System.Security.Cryptography.CryptoStream.EndWrite(System.IAsyncResult)">
411       <summary>Ends an asynchronous write operation. (Consider using <see cref="Overload:System.Security.Cryptography.CryptoStream.WriteAsync" /> instead.)</summary>
412       <param name="asyncResult">A reference to the outstanding asynchronous I/O request.</param>
413       <exception cref="T:System.ArgumentNullException">
414         <paramref name="asyncResult" /> is <see langword="null" />.</exception>
415       <exception cref="T:System.ArgumentException">A handle to the pending write operation is not available.  
416   
417  -or-  
418   
419  The pending operation does not support writing.</exception>
420       <exception cref="T:System.InvalidOperationException">
421         <paramref name="asyncResult" /> did not originate from a <see cref="M:System.IO.Stream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)" /> method on the current stream.</exception>
422       <exception cref="T:System.IO.IOException">The stream is closed or an internal error has occurred.</exception>
423     </member>
424     <member name="M:System.Security.Cryptography.CryptoStream.Flush">
425       <summary>Clears all buffers for the current stream and causes any buffered data to be written to the underlying device.</summary>
426     </member>
427     <member name="M:System.Security.Cryptography.CryptoStream.FlushAsync(System.Threading.CancellationToken)">
428       <summary>Clears all buffers for the current stream asynchronously, causes any buffered data to be written to the underlying device, and monitors cancellation requests.</summary>
429       <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None" />.</param>
430       <exception cref="T:System.ObjectDisposedException">The stream has been disposed.</exception>
431       <returns>A task that represents the asynchronous flush operation.</returns>
432     </member>
433     <member name="M:System.Security.Cryptography.CryptoStream.FlushFinalBlock">
434       <summary>Updates the underlying data source or repository with the current state of the buffer, then clears the buffer.</summary>
435       <exception cref="T:System.Security.Cryptography.CryptographicException">The key is corrupt which can cause invalid padding to the stream.</exception>
436       <exception cref="T:System.NotSupportedException">The current stream is not writable.  
437   
438  -or-  
439   
440  The final block has already been transformed.</exception>
441     </member>
442     <member name="M:System.Security.Cryptography.CryptoStream.FlushFinalBlockAsync(System.Threading.CancellationToken)">
443       <summary>Asynchronously updates the underlying data source or repository with the current state of the buffer, then clears the buffer.</summary>
444       <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None" />.</param>
445       <returns>A task that represents the asynchronous flush operation.</returns>
446     </member>
447     <member name="M:System.Security.Cryptography.CryptoStream.Read(System.Byte[],System.Int32,System.Int32)">
448       <summary>Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.</summary>
449       <param name="buffer">An array of bytes. A maximum of <paramref name="count" /> bytes are read from the current stream and stored in <paramref name="buffer" />.</param>
450       <param name="offset">The byte offset in <paramref name="buffer" /> at which to begin storing the data read from the current stream.</param>
451       <param name="count">The maximum number of bytes to be read from the current stream.</param>
452       <exception cref="T:System.NotSupportedException">The <see cref="T:System.Security.Cryptography.CryptoStreamMode" /> associated with current <see cref="T:System.Security.Cryptography.CryptoStream" /> object does not match the underlying stream.  For example, this exception is thrown when using <see cref="F:System.Security.Cryptography.CryptoStreamMode.Read" /> with an underlying stream that is write only.</exception>
453       <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="offset" /> parameter is less than zero.  
454   
455  -or-  
456   
457  The <paramref name="count" /> parameter is less than zero.</exception>
458       <exception cref="T:System.ArgumentException">The sum of the <paramref name="count" /> and <paramref name="offset" /> parameters is longer than the length of the buffer.</exception>
459       <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero if the end of the stream has been reached.</returns>
460     </member>
461     <member name="M:System.Security.Cryptography.CryptoStream.ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
462       <summary>Reads a sequence of bytes from the current stream asynchronously, advances the position within the stream by the number of bytes read, and monitors cancellation requests.</summary>
463       <param name="buffer">The buffer to write the data into.</param>
464       <param name="offset">The byte offset in <paramref name="buffer" /> at which to begin writing data from the stream.</param>
465       <param name="count">The maximum number of bytes to read.</param>
466       <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None" />.</param>
467       <exception cref="T:System.ArgumentNullException">
468         <paramref name="buffer" /> is <see langword="null" />.</exception>
469       <exception cref="T:System.ArgumentOutOfRangeException">
470         <paramref name="offset" /> or <paramref name="count" /> is negative.</exception>
471       <exception cref="T:System.ArgumentException">The sum of <paramref name="offset" /> and <paramref name="count" /> is larger than the buffer length.</exception>
472       <exception cref="T:System.NotSupportedException">The stream does not support reading.</exception>
473       <exception cref="T:System.ObjectDisposedException">The stream has been disposed.</exception>
474       <exception cref="T:System.InvalidOperationException">The stream is currently in use by a previous read operation.</exception>
475       <returns>A task that represents the asynchronous read operation. The value of the task object's <paramref name="TResult" /> parameter contains the total number of bytes read into the buffer. The result can be less than the number of bytes requested if the number of bytes currently available is less than the requested number, or it can be 0 (zero) if the end of the stream has been reached.</returns>
476     </member>
477     <member name="M:System.Security.Cryptography.CryptoStream.ReadAsync(System.Memory{System.Byte},System.Threading.CancellationToken)">
478       <summary>Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests.</summary>
479       <param name="buffer">The region of memory to write the data into.</param>
480       <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None" />.</param>
481       <exception cref="T:System.NotSupportedException">The <see cref="T:System.Security.Cryptography.CryptoStreamMode" /> associated with current <see cref="T:System.Security.Cryptography.CryptoStream" /> object does not match the underlying stream.  For example, this exception is thrown when using <see cref="F:System.Security.Cryptography.CryptoStreamMode.Read" /> with an underlying stream that is write only.</exception>
482       <returns>A task that represents the asynchronous read operation. The value of its <see cref="P:System.Threading.Tasks.ValueTask`1.Result" /> property contains the total number of bytes read into the buffer. The result value can be less than the number of bytes allocated in the buffer if that many bytes are not currently available, or it can be 0 (zero) if the end of the stream has been reached.</returns>
483     </member>
484     <member name="M:System.Security.Cryptography.CryptoStream.ReadByte">
485       <summary>Reads a byte from the stream and advances the position within the stream by one byte, or returns -1 if at the end of the stream.</summary>
486       <exception cref="T:System.NotSupportedException">The stream does not support reading.</exception>
487       <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed.</exception>
488       <returns>The unsigned byte cast to an <see cref="T:System.Int32" />, or -1 if at the end of the stream.</returns>
489     </member>
490     <member name="M:System.Security.Cryptography.CryptoStream.Seek(System.Int64,System.IO.SeekOrigin)">
491       <summary>Sets the position within the current stream.</summary>
492       <param name="offset">A byte offset relative to the <paramref name="origin" /> parameter.</param>
493       <param name="origin">A <see cref="T:System.IO.SeekOrigin" /> object indicating the reference point used to obtain the new position.</param>
494       <exception cref="T:System.NotSupportedException">This method is not supported.</exception>
495       <returns>This method is not supported.</returns>
496     </member>
497     <member name="M:System.Security.Cryptography.CryptoStream.SetLength(System.Int64)">
498       <summary>Sets the length of the current stream.</summary>
499       <param name="value">The desired length of the current stream in bytes.</param>
500       <exception cref="T:System.NotSupportedException">This property exists only to support inheritance from <see cref="T:System.IO.Stream" />, and cannot be used.</exception>
501     </member>
502     <member name="M:System.Security.Cryptography.CryptoStream.Write(System.Byte[],System.Int32,System.Int32)">
503       <summary>Writes a sequence of bytes to the current <see cref="T:System.Security.Cryptography.CryptoStream" /> and advances the current position within the stream by the number of bytes written.</summary>
504       <param name="buffer">An array of bytes. This method copies <paramref name="count" /> bytes from <paramref name="buffer" /> to the current stream.</param>
505       <param name="offset">The byte offset in <paramref name="buffer" /> at which to begin copying bytes to the current stream.</param>
506       <param name="count">The number of bytes to be written to the current stream.</param>
507       <exception cref="T:System.NotSupportedException">The <see cref="T:System.Security.Cryptography.CryptoStreamMode" /> associated with current <see cref="T:System.Security.Cryptography.CryptoStream" /> object does not match the underlying stream.  For example, this exception is thrown when using <see cref="F:System.Security.Cryptography.CryptoStreamMode.Write" /> with an underlying stream that is read only.</exception>
508       <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="offset" /> parameter is less than zero.  
509   
510  -or-  
511   
512  The <paramref name="count" /> parameter is less than zero.</exception>
513       <exception cref="T:System.ArgumentException">The sum of the <paramref name="count" /> and <paramref name="offset" /> parameters is longer than the length of the buffer.</exception>
514     </member>
515     <member name="M:System.Security.Cryptography.CryptoStream.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
516       <summary>Writes a sequence of bytes to the current stream asynchronously, advances the current position within the stream by the number of bytes written, and monitors cancellation requests.</summary>
517       <param name="buffer">The buffer to write data from.</param>
518       <param name="offset">The zero-based byte offset in <paramref name="buffer" /> from which to begin writing bytes to the stream.</param>
519       <param name="count">The maximum number of bytes to write.</param>
520       <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None" />.</param>
521       <exception cref="T:System.ArgumentNullException">
522         <paramref name="buffer" /> is <see langword="null" />.</exception>
523       <exception cref="T:System.ArgumentOutOfRangeException">
524         <paramref name="offset" /> or <paramref name="count" /> is negative.</exception>
525       <exception cref="T:System.ArgumentException">The sum of <paramref name="offset" /> and <paramref name="count" /> is larger than the buffer length.</exception>
526       <exception cref="T:System.NotSupportedException">The stream does not support writing.</exception>
527       <exception cref="T:System.ObjectDisposedException">The stream has been disposed.</exception>
528       <exception cref="T:System.InvalidOperationException">The stream is currently in use by a previous write operation.</exception>
529       <returns>A task that represents the asynchronous write operation.</returns>
530     </member>
531     <member name="M:System.Security.Cryptography.CryptoStream.WriteAsync(System.ReadOnlyMemory{System.Byte},System.Threading.CancellationToken)">
532       <summary>Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests.</summary>
533       <param name="buffer">The region of memory to write data from.</param>
534       <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None" />.</param>
535       <exception cref="T:System.NotSupportedException">The <see cref="T:System.Security.Cryptography.CryptoStreamMode" /> associated with current <see cref="T:System.Security.Cryptography.CryptoStream" /> object does not match the underlying stream.  For example, this exception is thrown when using <see cref="F:System.Security.Cryptography.CryptoStreamMode.Write" /> with an underlying stream that is read only.</exception>
536       <returns>A task that represents the asynchronous write operation.</returns>
537     </member>
538     <member name="M:System.Security.Cryptography.CryptoStream.WriteByte(System.Byte)">
539       <summary>Writes a byte to the current position in the stream and advances the position within the stream by one byte.</summary>
540       <param name="value">The byte to write to the stream.</param>
541       <exception cref="T:System.IO.IOException">An I/O error occurs.</exception>
542       <exception cref="T:System.NotSupportedException">The stream does not support writing, or the stream is already closed.</exception>
543       <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed.</exception>
544     </member>
545     <member name="P:System.Security.Cryptography.CryptoStream.CanRead">
546       <summary>Gets a value indicating whether the current <see cref="T:System.Security.Cryptography.CryptoStream" /> is readable.</summary>
547       <returns>
548         <see langword="true" /> if the current stream is readable; otherwise, <see langword="false" />.</returns>
549     </member>
550     <member name="P:System.Security.Cryptography.CryptoStream.CanSeek">
551       <summary>Gets a value indicating whether you can seek within the current <see cref="T:System.Security.Cryptography.CryptoStream" />.</summary>
552       <returns>Always <see langword="false" />.</returns>
553     </member>
554     <member name="P:System.Security.Cryptography.CryptoStream.CanWrite">
555       <summary>Gets a value indicating whether the current <see cref="T:System.Security.Cryptography.CryptoStream" /> is writable.</summary>
556       <returns>
557         <see langword="true" /> if the current stream is writable; otherwise, <see langword="false" />.</returns>
558     </member>
559     <member name="P:System.Security.Cryptography.CryptoStream.HasFlushedFinalBlock">
560       <summary>Gets a value indicating whether the final buffer block has been written to the underlying stream.</summary>
561       <returns>
562         <see langword="true" /> if the final block has been flushed; otherwise, <see langword="false" />.</returns>
563     </member>
564     <member name="P:System.Security.Cryptography.CryptoStream.Length">
565       <summary>Gets the length in bytes of the stream.</summary>
566       <exception cref="T:System.NotSupportedException">This property is not supported.</exception>
567       <returns>This property is not supported.</returns>
568     </member>
569     <member name="P:System.Security.Cryptography.CryptoStream.Position">
570       <summary>Gets or sets the position within the current stream.</summary>
571       <exception cref="T:System.NotSupportedException">This property is not supported.</exception>
572       <returns>This property is not supported.</returns>
573     </member>
574     <member name="T:System.Security.Cryptography.CryptoStreamMode">
575       <summary>Specifies the mode of a cryptographic stream.</summary>
576     </member>
577     <member name="F:System.Security.Cryptography.CryptoStreamMode.Read">
578       <summary>Read access to a cryptographic stream.</summary>
579     </member>
580     <member name="F:System.Security.Cryptography.CryptoStreamMode.Write">
581       <summary>Write access to a cryptographic stream.</summary>
582     </member>
583     <member name="T:System.Security.Cryptography.HashAlgorithm">
584       <summary>Represents the base class from which all implementations of cryptographic hash algorithms must derive.</summary>
585     </member>
586     <member name="F:System.Security.Cryptography.HashAlgorithm.HashSizeValue">
587       <summary>Represents the size, in bits, of the computed hash code.</summary>
588     </member>
589     <member name="F:System.Security.Cryptography.HashAlgorithm.HashValue">
590       <summary>Represents the value of the computed hash code.</summary>
591     </member>
592     <member name="F:System.Security.Cryptography.HashAlgorithm.State">
593       <summary>Represents the state of the hash computation.</summary>
594     </member>
595     <member name="M:System.Security.Cryptography.HashAlgorithm.#ctor">
596       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.HashAlgorithm" /> class.</summary>
597     </member>
598     <member name="M:System.Security.Cryptography.HashAlgorithm.Clear">
599       <summary>Releases all resources used by the <see cref="T:System.Security.Cryptography.HashAlgorithm" /> class.</summary>
600     </member>
601     <member name="M:System.Security.Cryptography.HashAlgorithm.ComputeHash(System.Byte[])">
602       <summary>Computes the hash value for the specified byte array.</summary>
603       <param name="buffer">The input to compute the hash code for.</param>
604       <exception cref="T:System.ArgumentNullException">
605         <paramref name="buffer" /> is <see langword="null" />.</exception>
606       <exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
607       <returns>The computed hash code.</returns>
608     </member>
609     <member name="M:System.Security.Cryptography.HashAlgorithm.ComputeHash(System.Byte[],System.Int32,System.Int32)">
610       <summary>Computes the hash value for the specified region of the specified byte array.</summary>
611       <param name="buffer">The input to compute the hash code for.</param>
612       <param name="offset">The offset into the byte array from which to begin using data.</param>
613       <param name="count">The number of bytes in the array to use as data.</param>
614       <exception cref="T:System.ArgumentException">
615         <paramref name="count" /> is an invalid value.
616
617  -or-
618
619  <paramref name="buffer" /> length is invalid.</exception>
620       <exception cref="T:System.ArgumentNullException">
621         <paramref name="buffer" /> is <see langword="null" />.</exception>
622       <exception cref="T:System.ArgumentOutOfRangeException">
623         <paramref name="offset" /> is out of range. This parameter requires a non-negative number.</exception>
624       <exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
625       <returns>The computed hash code.</returns>
626     </member>
627     <member name="M:System.Security.Cryptography.HashAlgorithm.ComputeHash(System.IO.Stream)">
628       <summary>Computes the hash value for the specified <see cref="T:System.IO.Stream" /> object.</summary>
629       <param name="inputStream">The input to compute the hash code for.</param>
630       <exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
631       <returns>The computed hash code.</returns>
632     </member>
633     <member name="M:System.Security.Cryptography.HashAlgorithm.ComputeHashAsync(System.IO.Stream,System.Threading.CancellationToken)">
634       <summary>Asynchronously computes the hash value for the specified <see cref="T:System.IO.Stream" /> object.</summary>
635       <param name="inputStream">The input to compute the hash code for.</param>
636       <param name="cancellationToken">The token to monitor for cancellation requests.</param>
637       <returns>A task that represents the asynchronous compute hash operation and wraps the computed hash code.</returns>
638     </member>
639     <member name="M:System.Security.Cryptography.HashAlgorithm.Create">
640       <summary>Creates an instance of the default implementation of a hash algorithm.</summary>
641       <exception cref="T:System.PlatformNotSupportedException">.NET Core 2.0 - 3.1 and .NET 5.0 and later: In all cases.</exception>
642       <returns>A new <see cref="T:System.Security.Cryptography.SHA1CryptoServiceProvider" /> instance, unless the default settings have been changed using the .</returns>
643     </member>
644     <member name="M:System.Security.Cryptography.HashAlgorithm.Create(System.String)">
645       <summary>Creates an instance of the specified implementation of a hash algorithm.</summary>
646       <param name="hashName">The hash algorithm implementation to use. The following table shows the valid values for the <paramref name="hashName" /> parameter and the algorithms they map to.
647
648  <list type="table"><listheader><term> Parameter value</term><description> Implements</description></listheader><item><term> SHA</term><description><see cref="T:System.Security.Cryptography.SHA1CryptoServiceProvider" /></description></item><item><term> SHA1</term><description><see cref="T:System.Security.Cryptography.SHA1CryptoServiceProvider" /></description></item><item><term> System.Security.Cryptography.SHA1</term><description><see cref="T:System.Security.Cryptography.SHA1CryptoServiceProvider" /></description></item><item><term> System.Security.Cryptography.HashAlgorithm</term><description><see cref="T:System.Security.Cryptography.SHA1CryptoServiceProvider" /></description></item><item><term> MD5</term><description><see cref="T:System.Security.Cryptography.MD5CryptoServiceProvider" /></description></item><item><term> System.Security.Cryptography.MD5</term><description><see cref="T:System.Security.Cryptography.MD5CryptoServiceProvider" /></description></item><item><term> SHA256</term><description><see cref="T:System.Security.Cryptography.SHA256Managed" /></description></item><item><term> SHA-256</term><description><see cref="T:System.Security.Cryptography.SHA256Managed" /></description></item><item><term> System.Security.Cryptography.SHA256</term><description><see cref="T:System.Security.Cryptography.SHA256Managed" /></description></item><item><term> SHA384</term><description><see cref="T:System.Security.Cryptography.SHA384Managed" /></description></item><item><term> SHA-384</term><description><see cref="T:System.Security.Cryptography.SHA384Managed" /></description></item><item><term> System.Security.Cryptography.SHA384</term><description><see cref="T:System.Security.Cryptography.SHA384Managed" /></description></item><item><term> SHA512</term><description><see cref="T:System.Security.Cryptography.SHA512Managed" /></description></item><item><term> SHA-512</term><description><see cref="T:System.Security.Cryptography.SHA512Managed" /></description></item><item><term> System.Security.Cryptography.SHA512</term><description><see cref="T:System.Security.Cryptography.SHA512Managed" /></description></item></list></param>
649       <returns>A new instance of the specified hash algorithm, or <see langword="null" /> if <paramref name="hashName" /> is not a valid hash algorithm.</returns>
650     </member>
651     <member name="M:System.Security.Cryptography.HashAlgorithm.Dispose">
652       <summary>Releases all resources used by the current instance of the <see cref="T:System.Security.Cryptography.HashAlgorithm" /> class.</summary>
653     </member>
654     <member name="M:System.Security.Cryptography.HashAlgorithm.Dispose(System.Boolean)">
655       <summary>Releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.HashAlgorithm" /> and optionally releases the managed resources.</summary>
656       <param name="disposing">
657         <see langword="true" /> to release both managed and unmanaged resources; <see langword="false" /> to release only unmanaged resources.</param>
658     </member>
659     <member name="M:System.Security.Cryptography.HashAlgorithm.HashCore(System.Byte[],System.Int32,System.Int32)">
660       <summary>When overridden in a derived class, routes data written to the object into the hash algorithm for computing the hash.</summary>
661       <param name="array">The input to compute the hash code for.</param>
662       <param name="ibStart">The offset into the byte array from which to begin using data.</param>
663       <param name="cbSize">The number of bytes in the byte array to use as data.</param>
664     </member>
665     <member name="M:System.Security.Cryptography.HashAlgorithm.HashCore(System.ReadOnlySpan{System.Byte})">
666       <summary>Routes data written to the object into the hash algorithm for computing the hash.</summary>
667       <param name="source">The input to compute the hash code for.</param>
668     </member>
669     <member name="M:System.Security.Cryptography.HashAlgorithm.HashFinal">
670       <summary>When overridden in a derived class, finalizes the hash computation after the last data is processed by the cryptographic hash algorithm.</summary>
671       <returns>The computed hash code.</returns>
672     </member>
673     <member name="M:System.Security.Cryptography.HashAlgorithm.Initialize">
674       <summary>Resets the hash algorithm to its initial state.</summary>
675     </member>
676     <member name="M:System.Security.Cryptography.HashAlgorithm.TransformBlock(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
677       <summary>Computes the hash value for the specified region of the input byte array and copies the specified region of the input byte array to the specified region of the output byte array.</summary>
678       <param name="inputBuffer">The input to compute the hash code for.</param>
679       <param name="inputOffset">The offset into the input byte array from which to begin using data.</param>
680       <param name="inputCount">The number of bytes in the input byte array to use as data.</param>
681       <param name="outputBuffer">A copy of the part of the input array used to compute the hash code.</param>
682       <param name="outputOffset">The offset into the output byte array from which to begin writing data.</param>
683       <exception cref="T:System.ArgumentException">
684         <paramref name="inputCount" /> uses an invalid value.
685
686  -or-
687
688  <paramref name="inputBuffer" /> has an invalid length.</exception>
689       <exception cref="T:System.ArgumentNullException">
690         <paramref name="inputBuffer" /> is <see langword="null" />.</exception>
691       <exception cref="T:System.ArgumentOutOfRangeException">
692         <paramref name="inputOffset" /> is out of range. This parameter requires a non-negative number.</exception>
693       <exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
694       <returns>The number of bytes written.</returns>
695     </member>
696     <member name="M:System.Security.Cryptography.HashAlgorithm.TransformFinalBlock(System.Byte[],System.Int32,System.Int32)">
697       <summary>Computes the hash value for the specified region of the specified byte array.</summary>
698       <param name="inputBuffer">The input to compute the hash code for.</param>
699       <param name="inputOffset">The offset into the byte array from which to begin using data.</param>
700       <param name="inputCount">The number of bytes in the byte array to use as data.</param>
701       <exception cref="T:System.ArgumentException">
702         <paramref name="inputCount" /> uses an invalid value.
703
704  -or-
705
706  <paramref name="inputBuffer" /> has an invalid offset length.</exception>
707       <exception cref="T:System.ArgumentNullException">
708         <paramref name="inputBuffer" /> is <see langword="null" />.</exception>
709       <exception cref="T:System.ArgumentOutOfRangeException">
710         <paramref name="inputOffset" /> is out of range. This parameter requires a non-negative number.</exception>
711       <exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
712       <returns>An array that is a copy of the part of the input that is hashed.</returns>
713     </member>
714     <member name="M:System.Security.Cryptography.HashAlgorithm.TryComputeHash(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32@)">
715       <summary>Attempts to compute the hash value for the specified byte array.</summary>
716       <param name="source">The input to compute the hash code for.</param>
717       <param name="destination">The buffer to receive the hash value.</param>
718       <param name="bytesWritten">When this method returns, the total number of bytes written into <paramref name="destination" />. This parameter is treated as uninitialized.</param>
719       <returns>
720         <see langword="true" /> if <paramref name="destination" /> is long enough to receive the hash value; otherwise, <see langword="false" />.</returns>
721     </member>
722     <member name="M:System.Security.Cryptography.HashAlgorithm.TryHashFinal(System.Span{System.Byte},System.Int32@)">
723       <summary>Attempts to finalize the hash computation after the last data is processed by the hash algorithm.</summary>
724       <param name="destination">The buffer to receive the hash value.</param>
725       <param name="bytesWritten">When this method returns, the total number of bytes written into <paramref name="destination" />. This parameter is treated as uninitialized.</param>
726       <returns>
727         <see langword="true" /> if <paramref name="destination" /> is long enough to receive the hash value; otherwise, <see langword="false" />.</returns>
728     </member>
729     <member name="P:System.Security.Cryptography.HashAlgorithm.CanReuseTransform">
730       <summary>Gets a value indicating whether the current transform can be reused.</summary>
731       <returns>Always <see langword="true" />.</returns>
732     </member>
733     <member name="P:System.Security.Cryptography.HashAlgorithm.CanTransformMultipleBlocks">
734       <summary>When overridden in a derived class, gets a value indicating whether multiple blocks can be transformed.</summary>
735       <returns>
736         <see langword="true" /> if multiple blocks can be transformed; otherwise, <see langword="false" />.</returns>
737     </member>
738     <member name="P:System.Security.Cryptography.HashAlgorithm.Hash">
739       <summary>Gets the value of the computed hash code.</summary>
740       <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">
741         <see cref="F:System.Security.Cryptography.HashAlgorithm.HashValue" /> is <see langword="null" />.</exception>
742       <exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
743       <returns>The current value of the computed hash code.</returns>
744     </member>
745     <member name="P:System.Security.Cryptography.HashAlgorithm.HashSize">
746       <summary>Gets the size, in bits, of the computed hash code.</summary>
747       <returns>The size, in bits, of the computed hash code.</returns>
748     </member>
749     <member name="P:System.Security.Cryptography.HashAlgorithm.InputBlockSize">
750       <summary>When overridden in a derived class, gets the input block size.</summary>
751       <returns>The input block size.</returns>
752     </member>
753     <member name="P:System.Security.Cryptography.HashAlgorithm.OutputBlockSize">
754       <summary>When overridden in a derived class, gets the output block size.</summary>
755       <returns>The output block size.</returns>
756     </member>
757     <member name="T:System.Security.Cryptography.HashAlgorithmName">
758       <summary>Specifies the name of a cryptographic hash algorithm.</summary>
759     </member>
760     <member name="M:System.Security.Cryptography.HashAlgorithmName.#ctor(System.String)">
761       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.HashAlgorithmName" /> structure with a custom name.</summary>
762       <param name="name">The custom hash algorithm name.</param>
763     </member>
764     <member name="M:System.Security.Cryptography.HashAlgorithmName.Equals(System.Object)">
765       <summary>Returns a value that indicates whether the current instance and a specified object are equal.</summary>
766       <param name="obj">The object to compare with the current instance.</param>
767       <returns>
768         <see langword="true" /> if <paramref name="obj" /> is a <see cref="T:System.Security.Cryptography.HashAlgorithmName" /> object and its <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> property is equal to that of the current instance. The comparison is ordinal and case-sensitive.</returns>
769     </member>
770     <member name="M:System.Security.Cryptography.HashAlgorithmName.Equals(System.Security.Cryptography.HashAlgorithmName)">
771       <summary>Returns a value that indicates whether two <see cref="T:System.Security.Cryptography.HashAlgorithmName" /> instances are equal.</summary>
772       <param name="other">The object to compare with the current instance.</param>
773       <returns>
774         <see langword="true" /> if the <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> property of <paramref name="other" /> is equal to that of the current instance. The comparison is ordinal and case-sensitive.</returns>
775     </member>
776     <member name="M:System.Security.Cryptography.HashAlgorithmName.FromOid(System.String)">
777       <summary>Converts the specified OID to a hash algorithm name.</summary>
778       <param name="oidValue">The OID of the hash algorithm.</param>
779       <exception cref="T:System.ArgumentNullException">
780         <paramref name="oidValue" /> is <see langword="null" />.</exception>
781       <exception cref="T:System.Security.Cryptography.CryptographicException">
782         <paramref name="oidValue" /> does not represent a known hash algorithm.</exception>
783       <returns>The hash algorithm name identified by the OID.</returns>
784     </member>
785     <member name="M:System.Security.Cryptography.HashAlgorithmName.GetHashCode">
786       <summary>Returns the hash code for the current instance.</summary>
787       <returns>The hash code for the current instance, or 0 if no <paramref name="name" /> value was supplied to the <see cref="T:System.Security.Cryptography.HashAlgorithmName" /> constructor.</returns>
788     </member>
789     <member name="M:System.Security.Cryptography.HashAlgorithmName.op_Equality(System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.HashAlgorithmName)">
790       <summary>Determines whether two specified <see cref="T:System.Security.Cryptography.HashAlgorithmName" /> objects are equal.</summary>
791       <param name="left">The first object to compare.</param>
792       <param name="right">The second object to compare.</param>
793       <returns>
794         <see langword="true" /> if both <paramref name="left" /> and <paramref name="right" /> have the same <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> value; otherwise, <see langword="false" />.</returns>
795     </member>
796     <member name="M:System.Security.Cryptography.HashAlgorithmName.op_Inequality(System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.HashAlgorithmName)">
797       <summary>Determines whether two specified <see cref="T:System.Security.Cryptography.HashAlgorithmName" /> objects are not equal.</summary>
798       <param name="left">The first object to compare.</param>
799       <param name="right">The second object to compare.</param>
800       <returns>
801         <see langword="true" /> if both <paramref name="left" /> and <paramref name="right" /> do not have the same <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> value; otherwise, <see langword="false" />.</returns>
802     </member>
803     <member name="M:System.Security.Cryptography.HashAlgorithmName.ToString">
804       <summary>Returns the string representation of the current <see cref="T:System.Security.Cryptography.HashAlgorithmName" /> instance.</summary>
805       <returns>The string representation of the current <see cref="T:System.Security.Cryptography.HashAlgorithmName" /> instance.</returns>
806     </member>
807     <member name="M:System.Security.Cryptography.HashAlgorithmName.TryFromOid(System.String,System.Security.Cryptography.HashAlgorithmName@)">
808       <summary>Tries to convert the specified OID to a hash algorithm name.</summary>
809       <param name="oidValue">The OID of the hash algorithm.</param>
810       <param name="value">When this method returns <see langword="true" />, the hash algorithm. When this method returns <see langword="false" />, contains <c>default</c>.</param>
811       <exception cref="T:System.ArgumentNullException">
812         <paramref name="oidValue" /> is <see langword="null" />.</exception>
813       <returns>
814         <see langword="true" /> if the OID was successfully mapped to a hash algorithm; otherwise <see langword="false" />.</returns>
815     </member>
816     <member name="P:System.Security.Cryptography.HashAlgorithmName.MD5">
817       <summary>Gets a hash algorithm name that represents "MD5".</summary>
818       <returns>A hash algorithm name that represents "MD5".</returns>
819     </member>
820     <member name="P:System.Security.Cryptography.HashAlgorithmName.Name">
821       <summary>Gets the underlying string representation of the algorithm name.</summary>
822       <returns>The string representation of the algorithm name, or <see langword="default" /> if no hash algorithm is available.</returns>
823     </member>
824     <member name="P:System.Security.Cryptography.HashAlgorithmName.SHA1">
825       <summary>Gets a hash algorithm name that represents "SHA1".</summary>
826       <returns>A hash algorithm name that represents "SHA1".</returns>
827     </member>
828     <member name="P:System.Security.Cryptography.HashAlgorithmName.SHA256">
829       <summary>Gets a hash algorithm name that represents "SHA256".</summary>
830       <returns>A hash algorithm name that represents "SHA256".</returns>
831     </member>
832     <member name="P:System.Security.Cryptography.HashAlgorithmName.SHA384">
833       <summary>Gets a hash algorithm name that represents "SHA384".</summary>
834       <returns>A hash algorithm name that represents "SHA384".</returns>
835     </member>
836     <member name="P:System.Security.Cryptography.HashAlgorithmName.SHA512">
837       <summary>Gets a hash algorithm name that represents "SHA512".</summary>
838       <returns>A hash algorithm name that represents "SHA512".</returns>
839     </member>
840     <member name="T:System.Security.Cryptography.HMAC">
841       <summary>Represents the abstract class from which all implementations of Hash-based Message Authentication Code (HMAC) must derive.</summary>
842     </member>
843     <member name="M:System.Security.Cryptography.HMAC.#ctor">
844       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.HMAC" /> class.</summary>
845     </member>
846     <member name="M:System.Security.Cryptography.HMAC.Create">
847       <summary>Creates an instance of the default implementation of a Hash-based Message Authentication Code (HMAC).</summary>
848       <exception cref="T:System.PlatformNotSupportedException">.NET Core 2.0 - 3.1 and .NET 5.0 and later: In all cases.</exception>
849       <returns>A new SHA-1 instance, unless the default settings have been changed by using the &lt;cryptoClass&gt; element.</returns>
850     </member>
851     <member name="M:System.Security.Cryptography.HMAC.Create(System.String)">
852       <summary>Creates an instance of the specified implementation of a Hash-based Message Authentication Code (HMAC).</summary>
853       <param name="algorithmName">The HMAC implementation to use. The following table shows the valid values for the <paramref name="algorithmName" /> parameter and the algorithms they map to.
854
855  <list type="table"><listheader><term> Parameter value</term><description> Implements</description></listheader><item><term> System.Security.Cryptography.HMAC</term><description><see cref="T:System.Security.Cryptography.HMACSHA1" /></description></item><item><term> System.Security.Cryptography.KeyedHashAlgorithm</term><description><see cref="T:System.Security.Cryptography.HMACSHA1" /></description></item><item><term> HMACMD5</term><description><see cref="T:System.Security.Cryptography.HMACMD5" /></description></item><item><term> System.Security.Cryptography.HMACMD5</term><description><see cref="T:System.Security.Cryptography.HMACMD5" /></description></item><item><term> HMACRIPEMD160</term><description><see cref="T:System.Security.Cryptography.HMACRIPEMD160" /></description></item><item><term> System.Security.Cryptography.HMACRIPEMD160</term><description><see cref="T:System.Security.Cryptography.HMACRIPEMD160" /></description></item><item><term> HMACSHA1</term><description><see cref="T:System.Security.Cryptography.HMACSHA1" /></description></item><item><term> System.Security.Cryptography.HMACSHA1</term><description><see cref="T:System.Security.Cryptography.HMACSHA1" /></description></item><item><term> HMACSHA256</term><description><see cref="T:System.Security.Cryptography.HMACSHA256" /></description></item><item><term> System.Security.Cryptography.HMACSHA256</term><description><see cref="T:System.Security.Cryptography.HMACSHA256" /></description></item><item><term> HMACSHA384</term><description><see cref="T:System.Security.Cryptography.HMACSHA384" /></description></item><item><term> System.Security.Cryptography.HMACSHA384</term><description><see cref="T:System.Security.Cryptography.HMACSHA384" /></description></item><item><term> HMACSHA512</term><description><see cref="T:System.Security.Cryptography.HMACSHA512" /></description></item><item><term> System.Security.Cryptography.HMACSHA512</term><description><see cref="T:System.Security.Cryptography.HMACSHA512" /></description></item><item><term> MACTripleDES</term><description><see cref="T:System.Security.Cryptography.MACTripleDES" /></description></item><item><term> System.Security.Cryptography.MACTripleDES</term><description><see cref="T:System.Security.Cryptography.MACTripleDES" /></description></item></list></param>
856       <returns>A new instance of the specified HMAC implementation.</returns>
857     </member>
858     <member name="M:System.Security.Cryptography.HMAC.Dispose(System.Boolean)">
859       <summary>Releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.HMAC" /> class when a key change is legitimate and optionally releases the managed resources.</summary>
860       <param name="disposing">
861         <see langword="true" /> to release both managed and unmanaged resources; <see langword="false" /> to release only unmanaged resources.</param>
862     </member>
863     <member name="M:System.Security.Cryptography.HMAC.HashCore(System.Byte[],System.Int32,System.Int32)">
864       <summary>When overridden in a derived class, routes data written to the object into the HMAC algorithm for computing the HMAC value.</summary>
865       <param name="rgb">The input data.</param>
866       <param name="ib">The offset into the byte array from which to begin using data.</param>
867       <param name="cb">The number of bytes in the array to use as data.</param>
868     </member>
869     <member name="M:System.Security.Cryptography.HMAC.HashCore(System.ReadOnlySpan{System.Byte})">
870       <summary>Routes data written to the object into the HMAC algorithm for computing the HMAC.</summary>
871       <param name="source">The input to compute the HMAC code for.</param>
872       <exception cref="T:System.PlatformNotSupportedException">In all cases.</exception>
873     </member>
874     <member name="M:System.Security.Cryptography.HMAC.HashFinal">
875       <summary>When overridden in a derived class, finalizes the HMAC computation after the last data is processed by the algorithm.</summary>
876       <returns>The computed HMAC value in a byte array.</returns>
877     </member>
878     <member name="M:System.Security.Cryptography.HMAC.Initialize">
879       <summary>Initializes an instance of the default implementation of <see cref="T:System.Security.Cryptography.HMAC" />.</summary>
880     </member>
881     <member name="M:System.Security.Cryptography.HMAC.TryHashFinal(System.Span{System.Byte},System.Int32@)">
882       <summary>Attempts to finalize the HMAC computation after the last data is processed by the HMAC algorithm.</summary>
883       <param name="destination">The buffer to receive the HMAC value.</param>
884       <param name="bytesWritten">When this method returns, the total number of bytes written into <paramref name="destination" />. This parameter is treated as uninitialized.</param>
885       <exception cref="T:System.PlatformNotSupportedException">The method is not overriden in the derived type.</exception>
886       <returns>
887         <see langword="true" /> if <paramref name="destination" /> is long enough to receive the HMAC value; otherwise, <see langword="false" />.</returns>
888     </member>
889     <member name="P:System.Security.Cryptography.HMAC.BlockSizeValue">
890       <summary>Gets or sets the block size to use in the hash value.</summary>
891       <returns>The block size to use in the hash value.</returns>
892     </member>
893     <member name="P:System.Security.Cryptography.HMAC.HashName">
894       <summary>Gets or sets the name of the hash algorithm to use for hashing.</summary>
895       <exception cref="T:System.Security.Cryptography.CryptographicException">The current hash algorithm cannot be changed.</exception>
896       <returns>The name of the hash algorithm.</returns>
897     </member>
898     <member name="P:System.Security.Cryptography.HMAC.Key">
899       <summary>Gets or sets the key to use in the HMAC calculation.</summary>
900       <exception cref="T:System.Security.Cryptography.CryptographicException">An attempt is made to change the <see cref="P:System.Security.Cryptography.HMAC.Key" /> property after hashing has begun.</exception>
901       <returns>The key to use in the HMAC calculation.</returns>
902     </member>
903     <member name="T:System.Security.Cryptography.ICryptoTransform">
904       <summary>Defines the basic operations of cryptographic transformations.</summary>
905     </member>
906     <member name="M:System.Security.Cryptography.ICryptoTransform.TransformBlock(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
907       <summary>Transforms the specified region of the input byte array and copies the resulting transform to the specified region of the output byte array.</summary>
908       <param name="inputBuffer">The input for which to compute the transform.</param>
909       <param name="inputOffset">The offset into the input byte array from which to begin using data.</param>
910       <param name="inputCount">The number of bytes in the input byte array to use as data.</param>
911       <param name="outputBuffer">The output to which to write the transform.</param>
912       <param name="outputOffset">The offset into the output byte array from which to begin writing data.</param>
913       <returns>The number of bytes written.</returns>
914     </member>
915     <member name="M:System.Security.Cryptography.ICryptoTransform.TransformFinalBlock(System.Byte[],System.Int32,System.Int32)">
916       <summary>Transforms the specified region of the specified byte array.</summary>
917       <param name="inputBuffer">The input for which to compute the transform.</param>
918       <param name="inputOffset">The offset into the byte array from which to begin using data.</param>
919       <param name="inputCount">The number of bytes in the byte array to use as data.</param>
920       <returns>The computed transform.</returns>
921     </member>
922     <member name="P:System.Security.Cryptography.ICryptoTransform.CanReuseTransform">
923       <summary>Gets a value indicating whether the current transform can be reused.</summary>
924       <returns>
925         <see langword="true" /> if the current transform can be reused; otherwise, <see langword="false" />.</returns>
926     </member>
927     <member name="P:System.Security.Cryptography.ICryptoTransform.CanTransformMultipleBlocks">
928       <summary>Gets a value indicating whether multiple blocks can be transformed.</summary>
929       <returns>
930         <see langword="true" /> if multiple blocks can be transformed; otherwise, <see langword="false" />.</returns>
931     </member>
932     <member name="P:System.Security.Cryptography.ICryptoTransform.InputBlockSize">
933       <summary>Gets the input block size.</summary>
934       <returns>The size of the input data blocks in bytes.</returns>
935     </member>
936     <member name="P:System.Security.Cryptography.ICryptoTransform.OutputBlockSize">
937       <summary>Gets the output block size.</summary>
938       <returns>The size of the output data blocks in bytes.</returns>
939     </member>
940     <member name="T:System.Security.Cryptography.KeyedHashAlgorithm">
941       <summary>Represents the abstract class from which all implementations of keyed hash algorithms must derive.</summary>
942     </member>
943     <member name="F:System.Security.Cryptography.KeyedHashAlgorithm.KeyValue">
944       <summary>The key to use in the hash algorithm.</summary>
945     </member>
946     <member name="M:System.Security.Cryptography.KeyedHashAlgorithm.#ctor">
947       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.KeyedHashAlgorithm" /> class.</summary>
948     </member>
949     <member name="M:System.Security.Cryptography.KeyedHashAlgorithm.Create">
950       <summary>Creates an instance of the default implementation of a keyed hash algorithm.</summary>
951       <returns>A new <see cref="T:System.Security.Cryptography.HMACSHA1" /> instance, unless the default settings have been changed.</returns>
952     </member>
953     <member name="M:System.Security.Cryptography.KeyedHashAlgorithm.Create(System.String)">
954       <summary>Creates an instance of the specified implementation of a keyed hash algorithm.</summary>
955       <param name="algName">The keyed hash algorithm implementation to use. The following table shows the valid values for the <paramref name="algName" /> parameter and the algorithms they map to.
956
957  <list type="table"><listheader><term> Parameter value</term><description> Implements</description></listheader><item><term> System.Security.Cryptography.HMAC</term><description><see cref="T:System.Security.Cryptography.HMACSHA1" /></description></item><item><term> System.Security.Cryptography.KeyedHashAlgorithm</term><description><see cref="T:System.Security.Cryptography.HMACSHA1" /></description></item><item><term> HMACMD5</term><description><see cref="T:System.Security.Cryptography.HMACMD5" /></description></item><item><term> System.Security.Cryptography.HMACMD5</term><description><see cref="T:System.Security.Cryptography.HMACMD5" /></description></item><item><term> HMACRIPEMD160</term><description><see cref="T:System.Security.Cryptography.HMACRIPEMD160" /></description></item><item><term> System.Security.Cryptography.HMACRIPEMD160</term><description><see cref="T:System.Security.Cryptography.HMACRIPEMD160" /></description></item><item><term> HMACSHA1</term><description><see cref="T:System.Security.Cryptography.HMACSHA1" /></description></item><item><term> System.Security.Cryptography.HMACSHA1</term><description><see cref="T:System.Security.Cryptography.HMACSHA1" /></description></item><item><term> HMACSHA256</term><description><see cref="T:System.Security.Cryptography.HMACSHA256" /></description></item><item><term> System.Security.Cryptography.HMACSHA256</term><description><see cref="T:System.Security.Cryptography.HMACSHA256" /></description></item><item><term> HMACSHA384</term><description><see cref="T:System.Security.Cryptography.HMACSHA384" /></description></item><item><term> System.Security.Cryptography.HMACSHA384</term><description><see cref="T:System.Security.Cryptography.HMACSHA384" /></description></item><item><term> HMACSHA512</term><description><see cref="T:System.Security.Cryptography.HMACSHA512" /></description></item><item><term> System.Security.Cryptography.HMACSHA512</term><description><see cref="T:System.Security.Cryptography.HMACSHA512" /></description></item><item><term> MACTripleDES</term><description><see cref="T:System.Security.Cryptography.MACTripleDES" /></description></item><item><term> System.Security.Cryptography.MACTripleDES</term><description><see cref="T:System.Security.Cryptography.MACTripleDES" /></description></item></list></param>
958       <exception cref="T:System.PlatformNotSupportedException">.NET Core 2.0 - 3.1 and .NET 5.0 and later: In all cases.</exception>
959       <returns>A new instance of the specified keyed hash algorithm.</returns>
960     </member>
961     <member name="M:System.Security.Cryptography.KeyedHashAlgorithm.Dispose(System.Boolean)">
962       <summary>Releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.KeyedHashAlgorithm" /> and optionally releases the managed resources.</summary>
963       <param name="disposing">
964         <see langword="true" /> to release both managed and unmanaged resources; <see langword="false" /> to release only unmanaged resources.</param>
965     </member>
966     <member name="P:System.Security.Cryptography.KeyedHashAlgorithm.Key">
967       <summary>Gets or sets the key to use in the hash algorithm.</summary>
968       <exception cref="T:System.Security.Cryptography.CryptographicException">An attempt was made to change the <see cref="P:System.Security.Cryptography.KeyedHashAlgorithm.Key" /> property after hashing has begun.</exception>
969       <returns>The key to use in the hash algorithm.</returns>
970     </member>
971     <member name="T:System.Security.Cryptography.KeySizes">
972       <summary>Determines the set of valid key sizes for the symmetric cryptographic algorithms.</summary>
973     </member>
974     <member name="M:System.Security.Cryptography.KeySizes.#ctor(System.Int32,System.Int32,System.Int32)">
975       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.KeySizes" /> class with the specified key values.</summary>
976       <param name="minSize">The minimum valid key size.</param>
977       <param name="maxSize">The maximum valid key size.</param>
978       <param name="skipSize">The interval between valid key sizes.</param>
979     </member>
980     <member name="P:System.Security.Cryptography.KeySizes.MaxSize">
981       <summary>Specifies the maximum key size.</summary>
982       <returns>The maximum key size.</returns>
983     </member>
984     <member name="P:System.Security.Cryptography.KeySizes.MinSize">
985       <summary>Specifies the minimum key size.</summary>
986       <returns>The minimum key size.</returns>
987     </member>
988     <member name="P:System.Security.Cryptography.KeySizes.SkipSize">
989       <summary>Specifies the interval between valid key sizes.</summary>
990       <returns>The interval between valid key sizes.</returns>
991     </member>
992     <member name="T:System.Security.Cryptography.PaddingMode">
993       <summary>Specifies the type of padding to apply when the message data block is shorter than the full number of bytes needed for a cryptographic operation.</summary>
994     </member>
995     <member name="F:System.Security.Cryptography.PaddingMode.ANSIX923">
996       <summary>The ANSIX923 padding string consists of a sequence of bytes filled with zeros before the length.</summary>
997     </member>
998     <member name="F:System.Security.Cryptography.PaddingMode.ISO10126">
999       <summary>The ISO10126 padding string consists of random data before the length.</summary>
1000     </member>
1001     <member name="F:System.Security.Cryptography.PaddingMode.None">
1002       <summary>No padding is done.</summary>
1003     </member>
1004     <member name="F:System.Security.Cryptography.PaddingMode.PKCS7">
1005       <summary>The PKCS #7 padding string consists of a sequence of bytes, each of which is equal to the total number of padding bytes added.</summary>
1006     </member>
1007     <member name="F:System.Security.Cryptography.PaddingMode.Zeros">
1008       <summary>The padding string consists of bytes set to zero.</summary>
1009     </member>
1010     <member name="T:System.Security.Cryptography.PbeEncryptionAlgorithm">
1011       <summary>Specifies encryption algorithms to be used with Password-Based Encryption (PBE).</summary>
1012     </member>
1013     <member name="F:System.Security.Cryptography.PbeEncryptionAlgorithm.Aes128Cbc">
1014       <summary>Indicates the encryption should be performed with the AES-128 algorithm in CBC mode with PKCS#7 padding.</summary>
1015     </member>
1016     <member name="F:System.Security.Cryptography.PbeEncryptionAlgorithm.Aes192Cbc">
1017       <summary>Indicates the encryption should be performed with the AES-192 algorithm in CBC mode with PKCS#7 padding.</summary>
1018     </member>
1019     <member name="F:System.Security.Cryptography.PbeEncryptionAlgorithm.Aes256Cbc">
1020       <summary>Indicates that encryption be performed with the AES-256 algorithm in CBC mode with PKCS#7 padding.</summary>
1021     </member>
1022     <member name="F:System.Security.Cryptography.PbeEncryptionAlgorithm.TripleDes3KeyPkcs12">
1023       <summary>Indicates the encryption should be performed with the TripleDES algorithm in CBC mode with a 192-bit key derived using the Key Derivation Function (KDF) from PKCS#12.</summary>
1024     </member>
1025     <member name="F:System.Security.Cryptography.PbeEncryptionAlgorithm.Unknown">
1026       <summary>Indicates that no encryption algorithm has been selected.</summary>
1027     </member>
1028     <member name="T:System.Security.Cryptography.PbeParameters">
1029       <summary>Represents parameters to be used for Password-Based Encryption (PBE).</summary>
1030     </member>
1031     <member name="M:System.Security.Cryptography.PbeParameters.#ctor(System.Security.Cryptography.PbeEncryptionAlgorithm,System.Security.Cryptography.HashAlgorithmName,System.Int32)">
1032       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.PbeParameters" /> class.</summary>
1033       <param name="encryptionAlgorithm">The algorithm to use when encrypting data.</param>
1034       <param name="hashAlgorithm">The name of a hash algorithm to use with the Key Derivation Function (KDF) to turn a password into an encryption key.</param>
1035       <param name="iterationCount">The iteration count to provide to the Key Derivation Function (KDF) to turn a password into an encryption key.</param>
1036       <exception cref="T:System.ArgumentOutOfRangeException">
1037         <paramref name="iterationCount" /> is less than 1.</exception>
1038     </member>
1039     <member name="P:System.Security.Cryptography.PbeParameters.EncryptionAlgorithm">
1040       <summary>Gets the algorithm to use when encrypting data.</summary>
1041       <returns>The algorithm to use when encrypting data.</returns>
1042     </member>
1043     <member name="P:System.Security.Cryptography.PbeParameters.HashAlgorithm">
1044       <summary>Gets the name of the hash algorithm to use with the Key Derivation Function (KDF) to turn a password into an encryption key.</summary>
1045       <returns>The name of the hash algorithm to use with the Key Derivation Function (KDF) to turn a password into an encryption key.</returns>
1046     </member>
1047     <member name="P:System.Security.Cryptography.PbeParameters.IterationCount">
1048       <summary>Gets the iteration count to provide to the Key Derivation Function (KDF) to turn a password into an encryption key.</summary>
1049       <returns>The iteration count to provide to the Key Derivation Function (KDF) to turn a password into an encryption key.</returns>
1050     </member>
1051     <member name="T:System.Security.Cryptography.SymmetricAlgorithm">
1052       <summary>Represents the abstract base class from which all implementations of symmetric algorithms must inherit.</summary>
1053     </member>
1054     <member name="F:System.Security.Cryptography.SymmetricAlgorithm.BlockSizeValue">
1055       <summary>Represents the block size, in bits, of the cryptographic operation.</summary>
1056     </member>
1057     <member name="F:System.Security.Cryptography.SymmetricAlgorithm.FeedbackSizeValue">
1058       <summary>Represents the feedback size, in bits, of the cryptographic operation.</summary>
1059     </member>
1060     <member name="F:System.Security.Cryptography.SymmetricAlgorithm.IVValue">
1061       <summary>Represents the initialization vector (<see cref="P:System.Security.Cryptography.SymmetricAlgorithm.IV" />) for the symmetric algorithm.</summary>
1062     </member>
1063     <member name="F:System.Security.Cryptography.SymmetricAlgorithm.KeySizeValue">
1064       <summary>Represents the size, in bits, of the secret key used by the symmetric algorithm.</summary>
1065     </member>
1066     <member name="F:System.Security.Cryptography.SymmetricAlgorithm.KeyValue">
1067       <summary>Represents the secret key for the symmetric algorithm.</summary>
1068     </member>
1069     <member name="F:System.Security.Cryptography.SymmetricAlgorithm.LegalBlockSizesValue">
1070       <summary>Specifies the block sizes, in bits, that are supported by the symmetric algorithm.</summary>
1071     </member>
1072     <member name="F:System.Security.Cryptography.SymmetricAlgorithm.LegalKeySizesValue">
1073       <summary>Specifies the key sizes, in bits, that are supported by the symmetric algorithm.</summary>
1074     </member>
1075     <member name="F:System.Security.Cryptography.SymmetricAlgorithm.ModeValue">
1076       <summary>Represents the cipher mode used in the symmetric algorithm.</summary>
1077     </member>
1078     <member name="F:System.Security.Cryptography.SymmetricAlgorithm.PaddingValue">
1079       <summary>Represents the padding mode used in the symmetric algorithm.</summary>
1080     </member>
1081     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.#ctor">
1082       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.SymmetricAlgorithm" /> class.</summary>
1083       <exception cref="T:System.Security.Cryptography.CryptographicException">The implementation of the class derived from the symmetric algorithm is not valid.</exception>
1084     </member>
1085     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.Clear">
1086       <summary>Releases all resources used by the <see cref="T:System.Security.Cryptography.SymmetricAlgorithm" /> class.</summary>
1087     </member>
1088     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.Create">
1089       <summary>Creates a default cryptographic object used to perform the symmetric algorithm.</summary>
1090       <exception cref="T:System.PlatformNotSupportedException">.NET Core 2.0 - 3.1 and .NET 5.0 and later: In all cases.</exception>
1091       <returns>A default cryptographic object used to perform the symmetric algorithm.</returns>
1092     </member>
1093     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.Create(System.String)">
1094       <summary>Creates the specified cryptographic object used to perform the symmetric algorithm.</summary>
1095       <param name="algName">The name of the specific implementation of the <see cref="T:System.Security.Cryptography.SymmetricAlgorithm" /> class to use.</param>
1096       <returns>A cryptographic object used to perform the symmetric algorithm.</returns>
1097     </member>
1098     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.CreateDecryptor">
1099       <summary>Creates a symmetric decryptor object with the current <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.Key" /> property and initialization vector (<see cref="P:System.Security.Cryptography.SymmetricAlgorithm.IV" />).</summary>
1100       <returns>A symmetric decryptor object.</returns>
1101     </member>
1102     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.CreateDecryptor(System.Byte[],System.Byte[])">
1103       <summary>When overridden in a derived class, creates a symmetric decryptor object with the specified <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.Key" /> property and initialization vector (<see cref="P:System.Security.Cryptography.SymmetricAlgorithm.IV" />).</summary>
1104       <param name="rgbKey">The secret key to use for the symmetric algorithm.</param>
1105       <param name="rgbIV">The initialization vector to use for the symmetric algorithm.</param>
1106       <returns>A symmetric decryptor object.</returns>
1107     </member>
1108     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.CreateEncryptor">
1109       <summary>Creates a symmetric encryptor object with the current <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.Key" /> property and initialization vector (<see cref="P:System.Security.Cryptography.SymmetricAlgorithm.IV" />).</summary>
1110       <returns>A symmetric encryptor object.</returns>
1111     </member>
1112     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.CreateEncryptor(System.Byte[],System.Byte[])">
1113       <summary>When overridden in a derived class, creates a symmetric encryptor object with the specified <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.Key" /> property and initialization vector (<see cref="P:System.Security.Cryptography.SymmetricAlgorithm.IV" />).</summary>
1114       <param name="rgbKey">The secret key to use for the symmetric algorithm.</param>
1115       <param name="rgbIV">The initialization vector to use for the symmetric algorithm.</param>
1116       <returns>A symmetric encryptor object.</returns>
1117     </member>
1118     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.DecryptCbc(System.Byte[],System.Byte[],System.Security.Cryptography.PaddingMode)">
1119       <summary>Decrypts data using CBC mode with the specified padding mode.</summary>
1120       <param name="ciphertext">The data to decrypt.</param>
1121       <param name="iv">The initialization vector.</param>
1122       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1123       <exception cref="T:System.ArgumentNullException">
1124         <paramref name="ciphertext" /> or <paramref name="iv" /> is <see langword="null" />.</exception>
1125       <exception cref="T:System.ArgumentOutOfRangeException">
1126         <paramref name="paddingMode" /> is not a valid padding mode.</exception>
1127       <exception cref="T:System.ArgumentException">
1128         <paramref name="iv" /> is the incorrect length. Callers are expected to pass an initialization vector that is exactly <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.BlockSize" /> in length, converted to bytes (<c>BlockSize / 8</c>).</exception>
1129       <exception cref="T:System.Security.Cryptography.CryptographicException">The ciphertext could not be decrypted successfully.</exception>
1130       <returns>The decrypted plaintext data.</returns>
1131     </member>
1132     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.DecryptCbc(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Security.Cryptography.PaddingMode)">
1133       <summary>Decrypts data using CBC mode with the specified padding mode.</summary>
1134       <param name="ciphertext">The data to decrypt.</param>
1135       <param name="iv">The initialization vector.</param>
1136       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1137       <exception cref="T:System.ArgumentOutOfRangeException">
1138         <paramref name="paddingMode" /> is not a valid padding mode.</exception>
1139       <exception cref="T:System.ArgumentException">
1140         <paramref name="iv" /> is the incorrect length. Callers are expected to pass an initialization vector that is exactly <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.BlockSize" /> in length, converted to bytes (<c>BlockSize / 8</c>).</exception>
1141       <exception cref="T:System.Security.Cryptography.CryptographicException">The ciphertext could not be decrypted successfully.</exception>
1142       <returns>The decrypted plaintext data.</returns>
1143     </member>
1144     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.DecryptCbc(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.PaddingMode)">
1145       <summary>Decrypts data into the specified buffer, using CBC mode with the specified padding mode.</summary>
1146       <param name="ciphertext">The data to decrypt.</param>
1147       <param name="iv">The initialization vector.</param>
1148       <param name="destination">The buffer to receive the plaintext data.</param>
1149       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1150       <exception cref="T:System.ArgumentOutOfRangeException">
1151         <paramref name="paddingMode" /> is not a valid padding mode.</exception>
1152       <exception cref="T:System.ArgumentException">
1153         <paramref name="iv" /> is the incorrect length. Callers are expected to pass an initialization vector that is exactly <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.BlockSize" /> in length, converted to bytes (<c>BlockSize / 8</c>).</exception>
1154       <exception cref="T:System.Security.Cryptography.CryptographicException">The ciphertext could not be decrypted successfully.</exception>
1155       <exception cref="T:System.ArgumentException">The buffer in <paramref name="destination" /> is too small to hold the plaintext data.</exception>
1156       <returns>The total number of bytes written to <paramref name="destination" /></returns>
1157     </member>
1158     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.DecryptCfb(System.Byte[],System.Byte[],System.Security.Cryptography.PaddingMode,System.Int32)">
1159       <summary>Decrypts data using CFB mode with the specified padding mode and feedback size.</summary>
1160       <param name="ciphertext">The data to decrypt.</param>
1161       <param name="iv">The initialization vector.</param>
1162       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1163       <param name="feedbackSizeInBits">The feedback size, specified in bits.</param>
1164       <exception cref="T:System.ArgumentNullException">
1165         <paramref name="ciphertext" /> or <paramref name="iv" /> is <see langword="null" />.</exception>
1166       <exception cref="T:System.ArgumentOutOfRangeException">
1167         <paramref name="paddingMode" /> is not a valid padding mode.
1168
1169 -or-
1170
1171 <paramref name="feedbackSizeInBits" /> is not positive or represent a whole number of bytes.</exception>
1172       <exception cref="T:System.ArgumentException">
1173         <paramref name="iv" /> is the incorrect length. Callers are expected to pass an initialization vector that is exactly <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.BlockSize" /> in length, converted to bytes (<c>BlockSize / 8</c>).</exception>
1174       <exception cref="T:System.Security.Cryptography.CryptographicException">The ciphertext could not be decrypted successfully.
1175
1176 -or-
1177
1178 The feedback size is not valid for the algorithm.</exception>
1179       <returns>The decrypted plaintext data.</returns>
1180     </member>
1181     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.DecryptCfb(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Security.Cryptography.PaddingMode,System.Int32)">
1182       <summary>Decrypts data using CFB mode with the specified padding mode and feedback size.</summary>
1183       <param name="ciphertext">The data to decrypt.</param>
1184       <param name="iv">The initialization vector.</param>
1185       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1186       <param name="feedbackSizeInBits">The feedback size, specified in bits.</param>
1187       <exception cref="T:System.ArgumentOutOfRangeException">
1188         <paramref name="paddingMode" /> is not a valid padding mode.
1189
1190 -or-
1191
1192 <paramref name="feedbackSizeInBits" /> is not positive or represent a whole number of bytes.</exception>
1193       <exception cref="T:System.ArgumentException">
1194         <paramref name="iv" /> is the incorrect length. Callers are expected to pass an initialization vector that is exactly <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.BlockSize" /> in length, converted to bytes (<c>BlockSize / 8</c>).</exception>
1195       <exception cref="T:System.Security.Cryptography.CryptographicException">The ciphertext could not be decrypted successfully.
1196
1197 -or-
1198
1199 The feedback size is not valid for the algorithm.</exception>
1200       <returns>The decrypted plaintext data.</returns>
1201     </member>
1202     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.DecryptCfb(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.PaddingMode,System.Int32)">
1203       <summary>Decrypts data into the specified buffer, using CFB mode with the specified padding mode and feedback size.</summary>
1204       <param name="ciphertext">The data to decrypt.</param>
1205       <param name="iv">The initialization vector.</param>
1206       <param name="destination">The buffer to receive the plaintext data.</param>
1207       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1208       <param name="feedbackSizeInBits">The feedback size, specified in bits.</param>
1209       <exception cref="T:System.ArgumentOutOfRangeException">
1210         <paramref name="paddingMode" /> is not a valid padding mode.
1211
1212 -or-
1213
1214 <paramref name="feedbackSizeInBits" /> is not positive or represent a whole number of bytes.</exception>
1215       <exception cref="T:System.ArgumentException">
1216         <paramref name="iv" /> is the incorrect length. Callers are expected to pass an initialization vector that is exactly <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.BlockSize" /> in length, converted to bytes (<c>BlockSize / 8</c>).
1217
1218 -or-
1219
1220 The buffer in <paramref name="destination" /> is too small to hold the plaintext data.</exception>
1221       <exception cref="T:System.Security.Cryptography.CryptographicException">The ciphertext could not be decrypted successfully.
1222
1223 -or-
1224
1225 <paramref name="feedbackSizeInBits" /> is not valid for the algorithm.</exception>
1226       <returns>The total number of bytes written to <paramref name="destination" />.</returns>
1227     </member>
1228     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.DecryptEcb(System.Byte[],System.Security.Cryptography.PaddingMode)">
1229       <summary>Decrypts data using ECB mode with the specified padding mode.</summary>
1230       <param name="ciphertext">The data to decrypt.</param>
1231       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1232       <exception cref="T:System.ArgumentNullException">
1233         <paramref name="ciphertext" /> is <see langword="null" />.</exception>
1234       <exception cref="T:System.ArgumentOutOfRangeException">
1235         <paramref name="paddingMode" /> is not a valid padding mode.</exception>
1236       <exception cref="T:System.Security.Cryptography.CryptographicException">The ciphertext could not be decrypted successfully.</exception>
1237       <returns>The decrypted plaintext data.</returns>
1238     </member>
1239     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.DecryptEcb(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.PaddingMode)">
1240       <summary>Decrypts data using ECB mode with the specified padding mode.</summary>
1241       <param name="ciphertext">The data to decrypt.</param>
1242       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1243       <exception cref="T:System.ArgumentOutOfRangeException">
1244         <paramref name="paddingMode" /> is not a valid padding mode.</exception>
1245       <exception cref="T:System.Security.Cryptography.CryptographicException">The ciphertext could not be decrypted successfully.</exception>
1246       <returns>The decrypted plaintext data.</returns>
1247     </member>
1248     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.DecryptEcb(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.PaddingMode)">
1249       <summary>Decrypts data into the specified buffer, using ECB mode with the specified padding mode.</summary>
1250       <param name="ciphertext">The data to decrypt.</param>
1251       <param name="destination">The buffer to receive the plaintext data.</param>
1252       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1253       <exception cref="T:System.ArgumentOutOfRangeException">
1254         <paramref name="paddingMode" /> is not a valid padding mode.</exception>
1255       <exception cref="T:System.Security.Cryptography.CryptographicException">The ciphertext could not be decrypted successfully.</exception>
1256       <exception cref="T:System.ArgumentException">The buffer in <paramref name="destination" /> is too small to hold the plaintext data.</exception>
1257       <returns>The total number of bytes written to <paramref name="destination" /></returns>
1258     </member>
1259     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.Dispose">
1260       <summary>Releases all resources used by the current instance of the <see cref="T:System.Security.Cryptography.SymmetricAlgorithm" /> class.</summary>
1261     </member>
1262     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.Dispose(System.Boolean)">
1263       <summary>Releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.SymmetricAlgorithm" /> and optionally releases the managed resources.</summary>
1264       <param name="disposing">
1265         <see langword="true" /> to release both managed and unmanaged resources; <see langword="false" /> to release only unmanaged resources.</param>
1266     </member>
1267     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.EncryptCbc(System.Byte[],System.Byte[],System.Security.Cryptography.PaddingMode)">
1268       <summary>Encrypts data using CBC mode with the specified padding mode.</summary>
1269       <param name="plaintext">The data to encrypt.</param>
1270       <param name="iv">The initialization vector.</param>
1271       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1272       <exception cref="T:System.ArgumentNullException">
1273         <paramref name="plaintext" /> or <paramref name="iv" /> is <see langword="null" />.</exception>
1274       <exception cref="T:System.ArgumentOutOfRangeException">
1275         <paramref name="paddingMode" /> is not a valid padding mode.</exception>
1276       <exception cref="T:System.ArgumentException">
1277         <paramref name="iv" /> is the incorrect length. Callers are expected to pass an initialization vector that is exactly <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.BlockSize" /> in length, converted to bytes (<c>BlockSize / 8</c>).</exception>
1278       <exception cref="T:System.Security.Cryptography.CryptographicException">The plaintext could not be encrypted successfully.</exception>
1279       <returns>The encrypted ciphertext data.</returns>
1280     </member>
1281     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.EncryptCbc(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Security.Cryptography.PaddingMode)">
1282       <summary>Encrypts data using CBC mode with the specified padding mode.</summary>
1283       <param name="plaintext">The data to encrypt.</param>
1284       <param name="iv">The initialization vector.</param>
1285       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1286       <exception cref="T:System.ArgumentOutOfRangeException">
1287         <paramref name="paddingMode" /> is not a valid padding mode.</exception>
1288       <exception cref="T:System.ArgumentException">
1289         <paramref name="iv" /> is the incorrect length. Callers are expected to pass an initialization vector that is exactly <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.BlockSize" /> in length, converted to bytes (<c>BlockSize / 8</c>).</exception>
1290       <exception cref="T:System.Security.Cryptography.CryptographicException">The plaintext could not be encrypted successfully.</exception>
1291       <returns>The encrypted ciphertext data.</returns>
1292     </member>
1293     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.EncryptCbc(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.PaddingMode)">
1294       <summary>Encrypts data into the specified buffer, using CBC mode with the specified padding mode.</summary>
1295       <param name="plaintext">The data to encrypt.</param>
1296       <param name="iv">The initialization vector.</param>
1297       <param name="destination">The buffer to receive the ciphertext data.</param>
1298       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1299       <exception cref="T:System.ArgumentOutOfRangeException">
1300         <paramref name="paddingMode" /> is not a valid padding mode.</exception>
1301       <exception cref="T:System.ArgumentException">
1302         <paramref name="iv" /> is the incorrect length. Callers are expected to pass an initialization vector that is exactly <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.BlockSize" /> in length, converted to bytes (<c>BlockSize / 8</c>).</exception>
1303       <exception cref="T:System.Security.Cryptography.CryptographicException">The plaintext could not be encrypted successfully.</exception>
1304       <exception cref="T:System.ArgumentException">The buffer in <paramref name="destination" /> is too small to hold the ciphertext data.</exception>
1305       <returns>The total number of bytes written to <paramref name="destination" />.</returns>
1306     </member>
1307     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.EncryptCfb(System.Byte[],System.Byte[],System.Security.Cryptography.PaddingMode,System.Int32)">
1308       <summary>Encrypts data using CFB mode with the specified padding mode and feedback size.</summary>
1309       <param name="plaintext">The data to encrypt.</param>
1310       <param name="iv">The initialization vector.</param>
1311       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1312       <param name="feedbackSizeInBits">The feedback size, specified in bits.</param>
1313       <exception cref="T:System.ArgumentNullException">
1314         <paramref name="plaintext" /> or <paramref name="iv" /> is <see langword="null" />.</exception>
1315       <exception cref="T:System.ArgumentOutOfRangeException">
1316         <paramref name="paddingMode" /> is not a valid padding mode.
1317
1318 -or-
1319
1320 <paramref name="feedbackSizeInBits" /> is not positive or represent a whole number of bytes.</exception>
1321       <exception cref="T:System.ArgumentException">
1322         <paramref name="iv" /> is the incorrect length. Callers are expected to pass an initialization vector that is exactly <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.BlockSize" /> in length, converted to bytes (<c>BlockSize / 8</c>).</exception>
1323       <exception cref="T:System.Security.Cryptography.CryptographicException">The plaintext could not be encrypted successfully.
1324
1325 -or-
1326
1327 The feedback size is not valid for the algorithm.</exception>
1328       <returns>The encrypted ciphertext data.</returns>
1329     </member>
1330     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.EncryptCfb(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Security.Cryptography.PaddingMode,System.Int32)">
1331       <summary>Encrypts data using CFB mode with the specified padding mode and feedback size.</summary>
1332       <param name="plaintext">The data to encrypt.</param>
1333       <param name="iv">The initialization vector.</param>
1334       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1335       <param name="feedbackSizeInBits">The feedback size, specified in bits.</param>
1336       <exception cref="T:System.ArgumentOutOfRangeException">
1337         <paramref name="paddingMode" /> is not a valid padding mode.
1338
1339 -or-
1340
1341 <paramref name="feedbackSizeInBits" /> is not positive or represent a whole number of bytes.</exception>
1342       <exception cref="T:System.ArgumentException">
1343         <paramref name="iv" /> is the incorrect length. Callers are expected to pass an initialization vector that is exactly <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.BlockSize" /> in length, converted to bytes (<c>BlockSize / 8</c>).</exception>
1344       <exception cref="T:System.Security.Cryptography.CryptographicException">The plaintext could not be encrypted successfully.
1345
1346 -or-
1347
1348 The feedback size is not valid for the algorithm.</exception>
1349       <returns>The encrypted ciphertext data.</returns>
1350     </member>
1351     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.EncryptCfb(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.PaddingMode,System.Int32)">
1352       <summary>Encrypts data into the specified buffer, using CFB mode with the specified padding mode and feedback size.</summary>
1353       <param name="plaintext">The data to encrypt.</param>
1354       <param name="iv">The initialization vector.</param>
1355       <param name="destination">The buffer to receive the ciphertext data.</param>
1356       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1357       <param name="feedbackSizeInBits">The feedback size, specified in bits.</param>
1358       <exception cref="T:System.ArgumentOutOfRangeException">
1359         <paramref name="paddingMode" /> is not a valid padding mode.
1360
1361 -or-
1362
1363 <paramref name="feedbackSizeInBits" /> is not positive or represent a whole number of bytes.</exception>
1364       <exception cref="T:System.ArgumentException">
1365         <paramref name="iv" /> is the incorrect length. Callers are expected to pass an initialization vector that is exactly <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.BlockSize" /> in length, converted to bytes (<c>BlockSize / 8</c>).</exception>
1366       <exception cref="T:System.Security.Cryptography.CryptographicException">The plaintext could not be encrypted successfully.
1367
1368 -or-
1369
1370 The feedback size is not valid for the algorithm.</exception>
1371       <returns>The total number of bytes written to <paramref name="destination" />.</returns>
1372     </member>
1373     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.EncryptEcb(System.Byte[],System.Security.Cryptography.PaddingMode)">
1374       <summary>Encrypts data using ECB mode with the specified padding mode.</summary>
1375       <param name="plaintext">The data to encrypt.</param>
1376       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1377       <exception cref="T:System.ArgumentNullException">
1378         <paramref name="plaintext" /> is <see langword="null" />.</exception>
1379       <exception cref="T:System.ArgumentOutOfRangeException">
1380         <paramref name="paddingMode" /> is not a valid padding mode.</exception>
1381       <exception cref="T:System.Security.Cryptography.CryptographicException">The plaintext could not be encrypted successfully.</exception>
1382       <returns>The encrypted ciphertext data.</returns>
1383     </member>
1384     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.EncryptEcb(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.PaddingMode)">
1385       <summary>Encrypts data using ECB mode with the specified padding mode.</summary>
1386       <param name="plaintext">The data to encrypt.</param>
1387       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1388       <exception cref="T:System.ArgumentOutOfRangeException">
1389         <paramref name="paddingMode" /> is not a valid padding mode.</exception>
1390       <exception cref="T:System.Security.Cryptography.CryptographicException">The plaintext could not be encrypted successfully.</exception>
1391       <returns>The encrypted ciphertext data.</returns>
1392     </member>
1393     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.EncryptEcb(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.PaddingMode)">
1394       <summary>Encrypts data into the specified buffer, using ECB mode with the specified padding mode.</summary>
1395       <param name="plaintext">The data to encrypt.</param>
1396       <param name="destination">The buffer to receive the ciphertext data.</param>
1397       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1398       <exception cref="T:System.ArgumentOutOfRangeException">
1399         <paramref name="paddingMode" /> is not a valid padding mode.</exception>
1400       <exception cref="T:System.Security.Cryptography.CryptographicException">The plaintext could not be encrypted successfully.</exception>
1401       <exception cref="T:System.ArgumentException">The buffer in <paramref name="destination" /> is too small to hold the ciphertext data.</exception>
1402       <returns>The total number of bytes written to <paramref name="destination" />.</returns>
1403     </member>
1404     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.GenerateIV">
1405       <summary>When overridden in a derived class, generates a random initialization vector (<see cref="P:System.Security.Cryptography.SymmetricAlgorithm.IV" />) to use for the algorithm.</summary>
1406     </member>
1407     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.GenerateKey">
1408       <summary>When overridden in a derived class, generates a random key (<see cref="P:System.Security.Cryptography.SymmetricAlgorithm.Key" />) to use for the algorithm.</summary>
1409     </member>
1410     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.GetCiphertextLengthCbc(System.Int32,System.Security.Cryptography.PaddingMode)">
1411       <summary>Gets the length of a ciphertext with a given padding mode and plaintext length in CBC mode.</summary>
1412       <param name="plaintextLength">The plaintext length, in bytes.</param>
1413       <param name="paddingMode">The padding mode used to pad the plaintext to the algorithm's block size.</param>
1414       <exception cref="T:System.ArgumentOutOfRangeException">
1415         <paramref name="plaintextLength" /> is a negative number.
1416
1417 -or-
1418
1419 <paramref name="plaintextLength" /> when padded is too large to represent as a signed 32-bit integer.
1420
1421 -or-
1422
1423 <paramref name="paddingMode" /> is not a valid padding mode.</exception>
1424       <exception cref="T:System.Security.Cryptography.CryptographicException">
1425         <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.BlockSize" /> is not a positive integer.
1426
1427 -or-
1428
1429 <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.BlockSize" /> is not a whole number of bytes. It must be divisible by 8.</exception>
1430       <exception cref="T:System.ArgumentException">The padding mode <see cref="F:System.Security.Cryptography.PaddingMode.None" /> was used, but <paramref name="plaintextLength" /> is not a whole number of blocks.</exception>
1431       <returns>The length, in bytes, of the ciphertext with padding.</returns>
1432     </member>
1433     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.GetCiphertextLengthCfb(System.Int32,System.Security.Cryptography.PaddingMode,System.Int32)">
1434       <summary>Gets the length of a ciphertext with a given padding mode and plaintext length in CFB mode.</summary>
1435       <param name="plaintextLength">The plaintext length, in bytes.</param>
1436       <param name="paddingMode">The padding mode used to pad the plaintext to the feedback size.</param>
1437       <param name="feedbackSizeInBits">The feedback size, in bits.</param>
1438       <exception cref="T:System.ArgumentOutOfRangeException">
1439         <paramref name="feedbackSizeInBits" /> is not a positive number.
1440
1441 -or-
1442
1443 <paramref name="plaintextLength" /> is a negative number.
1444
1445 -or-
1446
1447 <paramref name="plaintextLength" /> when padded is too large to represent as a signed 32-bit integer.
1448
1449 -or-
1450
1451 <paramref name="paddingMode" /> is not a valid padding mode.</exception>
1452       <exception cref="T:System.ArgumentException">The padding mode <see cref="F:System.Security.Cryptography.PaddingMode.None" /> was used, but <paramref name="plaintextLength" /> is not a whole number of blocks.
1453
1454 -or-
1455
1456 <paramref name="feedbackSizeInBits" /> is not a whole number of bytes. It must be divisible by 8.</exception>
1457       <returns>The length, in bytes, of the ciphertext with padding.</returns>
1458     </member>
1459     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.GetCiphertextLengthEcb(System.Int32,System.Security.Cryptography.PaddingMode)">
1460       <summary>Gets the length of a ciphertext with a given padding mode and plaintext length in ECB mode.</summary>
1461       <param name="plaintextLength">The plaintext length, in bytes.</param>
1462       <param name="paddingMode">The padding mode used to pad the plaintext to the algorithm's block size.</param>
1463       <exception cref="T:System.ArgumentOutOfRangeException">
1464         <paramref name="plaintextLength" /> is a negative number.
1465
1466 -or-
1467
1468 <paramref name="plaintextLength" /> when padded is too large to represent as a signed 32-bit integer.
1469
1470 -or-
1471
1472 <paramref name="paddingMode" /> is not a valid padding mode.</exception>
1473       <exception cref="T:System.Security.Cryptography.CryptographicException">
1474         <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.BlockSize" /> is not a positive integer.
1475
1476 -or-
1477
1478 <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.BlockSize" /> is not a whole number of bytes. It must be divisible by 8.</exception>
1479       <exception cref="T:System.ArgumentException">The padding mode <see cref="F:System.Security.Cryptography.PaddingMode.None" /> was used, but <paramref name="plaintextLength" /> is not a whole number of blocks.</exception>
1480       <returns>The length, in bytes, of the ciphertext with padding.</returns>
1481     </member>
1482     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.TryDecryptCbc(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32@,System.Security.Cryptography.PaddingMode)">
1483       <summary>Attempts to decrypt data into the specified buffer, using CBC mode with the specified padding mode.</summary>
1484       <param name="ciphertext">The data to decrypt.</param>
1485       <param name="iv">The initialization vector.</param>
1486       <param name="destination">The buffer to receive the plaintext data.</param>
1487       <param name="bytesWritten">When this method returns, contains the total number of bytes written to <paramref name="destination" />.</param>
1488       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1489       <exception cref="T:System.ArgumentOutOfRangeException">
1490         <paramref name="paddingMode" /> is not a valid padding mode.</exception>
1491       <exception cref="T:System.ArgumentException">
1492         <paramref name="iv" /> is the incorrect length. Callers are expected to pass an initialization vector that is exactly <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.BlockSize" /> in length, converted to bytes (<c>BlockSize / 8</c>).</exception>
1493       <exception cref="T:System.Security.Cryptography.CryptographicException">The ciphertext could not be decrypted successfully.</exception>
1494       <returns>
1495         <see langword="true" /> if <paramref name="destination" /> was large enough to receive the decrypted data; otherwise, <see langword="false" />.</returns>
1496     </member>
1497     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.TryDecryptCbcCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.PaddingMode,System.Int32@)">
1498       <summary>When overridden in a derived class, attempts to decrypt data into the specified buffer, using CBC mode with the specified padding mode.</summary>
1499       <param name="ciphertext">The data to decrypt.</param>
1500       <param name="iv">The initialization vector.</param>
1501       <param name="destination">The buffer to receive the plaintext data.</param>
1502       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1503       <param name="bytesWritten">When this method returns, contains the total number of bytes written to <paramref name="destination" />.</param>
1504       <exception cref="T:System.NotSupportedException">A derived class has not provided an implementation.</exception>
1505       <returns>
1506         <see langword="true" /> if <paramref name="destination" /> was large enough to receive the decrypted data; otherwise, <see langword="false" />.</returns>
1507     </member>
1508     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.TryDecryptCfb(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32@,System.Security.Cryptography.PaddingMode,System.Int32)">
1509       <summary>Attempts to decrypt data into the specified buffer, using CFB mode with the specified padding mode and feedback size.</summary>
1510       <param name="ciphertext">The data to decrypt.</param>
1511       <param name="iv">The initialization vector.</param>
1512       <param name="destination">The buffer to receive the plaintext data.</param>
1513       <param name="bytesWritten">When this method returns, contains the total number of bytes written to <paramref name="destination" />.</param>
1514       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1515       <param name="feedbackSizeInBits">The feedback size, specified in bits.</param>
1516       <exception cref="T:System.ArgumentOutOfRangeException">
1517         <paramref name="paddingMode" /> is not a valid padding mode.
1518
1519 -or-
1520
1521 <paramref name="feedbackSizeInBits" /> is not positive or represent a whole number of bytes.</exception>
1522       <exception cref="T:System.ArgumentException">
1523         <paramref name="iv" /> is the incorrect length. Callers are expected to pass an initialization vector that is exactly <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.BlockSize" /> in length, converted to bytes (<c>BlockSize / 8</c>).</exception>
1524       <exception cref="T:System.Security.Cryptography.CryptographicException">The ciphertext could not be decrypted successfully.
1525
1526 -or-
1527
1528 <paramref name="feedbackSizeInBits" /> is not valid for the algorithm.</exception>
1529       <returns>
1530         <see langword="true" /> if <paramref name="destination" /> was large enough to receive the decrypted data; otherwise, <see langword="false" />.</returns>
1531     </member>
1532     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.TryDecryptCfbCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.PaddingMode,System.Int32,System.Int32@)">
1533       <summary>When overridden in a derived class, attempts to decrypt data into the specified buffer, using CFB mode with the specified padding mode and feedback size.</summary>
1534       <param name="ciphertext">The data to decrypt.</param>
1535       <param name="iv">The initialization vector.</param>
1536       <param name="destination">The buffer to receive the plaintext data.</param>
1537       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1538       <param name="feedbackSizeInBits">The feedback size, specified in bits.</param>
1539       <param name="bytesWritten">When this method returns, contains the total number of bytes written to <paramref name="destination" />.</param>
1540       <exception cref="T:System.NotSupportedException">A derived class has not provided an implementation.</exception>
1541       <returns>
1542         <see langword="true" /> if <paramref name="destination" /> was large enough to receive the decrypted data; otherwise, <see langword="false" />.</returns>
1543     </member>
1544     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.TryDecryptEcb(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.PaddingMode,System.Int32@)">
1545       <summary>Attempts to decrypt data into the specified buffer, using ECB mode with the specified padding mode.</summary>
1546       <param name="ciphertext">The data to decrypt.</param>
1547       <param name="destination">The buffer to receive the plaintext data.</param>
1548       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1549       <param name="bytesWritten">When this method returns, contains the total number of bytes written to <paramref name="destination" />.</param>
1550       <exception cref="T:System.ArgumentOutOfRangeException">
1551         <paramref name="paddingMode" /> is not a valid padding mode.</exception>
1552       <exception cref="T:System.Security.Cryptography.CryptographicException">The ciphertext could not be decrypted successfully.</exception>
1553       <returns>
1554         <see langword="true" /> if <paramref name="destination" /> was large enough to receive the decrypted data; otherwise, <see langword="false" />.</returns>
1555     </member>
1556     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.TryDecryptEcbCore(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.PaddingMode,System.Int32@)">
1557       <summary>When overridden in a derived class, attempts to decrypt data into the specified buffer, using ECB mode with the specified padding mode.</summary>
1558       <param name="ciphertext">The data to decrypt.</param>
1559       <param name="destination">The buffer to receive the plaintext data.</param>
1560       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1561       <param name="bytesWritten">When this method returns, contains the total number of bytes written to <paramref name="destination" />.</param>
1562       <exception cref="T:System.NotSupportedException">A derived class has not provided an implementation.</exception>
1563       <returns>
1564         <see langword="true" /> if <paramref name="destination" /> was large enough to receive the decrypted data; otherwise, <see langword="false" />.</returns>
1565     </member>
1566     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.TryEncryptCbc(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32@,System.Security.Cryptography.PaddingMode)">
1567       <summary>Attempts to encrypt data into the specified buffer, using CBC mode with the specified padding mode.</summary>
1568       <param name="plaintext">The data to encrypt.</param>
1569       <param name="iv">The initialization vector.</param>
1570       <param name="destination">The buffer to receive the ciphertext data.</param>
1571       <param name="bytesWritten">When this method returns, contains the total number of bytes written to <paramref name="destination" />.</param>
1572       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1573       <exception cref="T:System.ArgumentOutOfRangeException">
1574         <paramref name="paddingMode" /> is not a valid padding mode.</exception>
1575       <exception cref="T:System.ArgumentException">
1576         <paramref name="iv" /> is the incorrect length. Callers are expected to pass an initialization vector that is exactly <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.BlockSize" /> in length, converted to bytes (<c>BlockSize / 8</c>).</exception>
1577       <exception cref="T:System.Security.Cryptography.CryptographicException">The plaintext could not be encrypted successfully.</exception>
1578       <returns>
1579         <see langword="true" /> if <paramref name="destination" /> was large enough to receive the encrypted data; otherwise, <see langword="false" />.</returns>
1580     </member>
1581     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.TryEncryptCbcCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.PaddingMode,System.Int32@)">
1582       <summary>When overridden in a derived class, attempts to encrypt data into the specified buffer, using CBC mode with the specified padding mode.</summary>
1583       <param name="plaintext">The data to encrypt.</param>
1584       <param name="iv">The initialization vector.</param>
1585       <param name="destination">The buffer to receive the ciphertext data.</param>
1586       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1587       <param name="bytesWritten">When this method returns, contains the total number of bytes written to <paramref name="destination" />.</param>
1588       <exception cref="T:System.NotSupportedException">A derived class has not provided an implementation.</exception>
1589       <returns>
1590         <see langword="true" /> if <paramref name="destination" /> was large enough to receive the encrypted data; otherwise, <see langword="false" />.</returns>
1591     </member>
1592     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.TryEncryptCfb(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32@,System.Security.Cryptography.PaddingMode,System.Int32)">
1593       <summary>Attempts to encrypt data into the specified buffer, using CFB mode with the specified padding mode and feedback size.</summary>
1594       <param name="plaintext">The data to encrypt.</param>
1595       <param name="iv">The initialization vector.</param>
1596       <param name="destination">The buffer to receive the ciphertext data.</param>
1597       <param name="bytesWritten">When this method returns, contains the total number of bytes written to <paramref name="destination" />.</param>
1598       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1599       <param name="feedbackSizeInBits">The feedback size, specified in bits.</param>
1600       <exception cref="T:System.ArgumentOutOfRangeException">
1601         <paramref name="paddingMode" /> is not a valid padding mode.
1602
1603 -or-
1604
1605 <paramref name="feedbackSizeInBits" /> is not positive or represent a whole number of bytes.</exception>
1606       <exception cref="T:System.ArgumentException">
1607         <paramref name="iv" /> is the incorrect length. Callers are expected to pass an initialization vector that is exactly <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.BlockSize" /> in length, converted to bytes (<c>BlockSize / 8</c>).</exception>
1608       <exception cref="T:System.Security.Cryptography.CryptographicException">The plaintext could not be encrypted successfully.
1609
1610 -or-
1611
1612 The feedback size is not valid for the algorithm.</exception>
1613       <returns>
1614         <see langword="true" /> if <paramref name="destination" /> was large enough to receive the encrypted data; otherwise, <see langword="false" />.</returns>
1615     </member>
1616     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.TryEncryptCfbCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.PaddingMode,System.Int32,System.Int32@)">
1617       <summary>When overridden in a derived class, attempts to encrypt data into the specified buffer, using CFB mode with the specified padding mode and feedback size.</summary>
1618       <param name="plaintext">The data to encrypt.</param>
1619       <param name="iv">The initialization vector.</param>
1620       <param name="destination">The buffer to receive the ciphertext data.</param>
1621       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1622       <param name="feedbackSizeInBits">The feedback size, specified in bits.</param>
1623       <param name="bytesWritten">When this method returns, contains the total number of bytes written to <paramref name="destination" />.</param>
1624       <exception cref="T:System.NotSupportedException">A derived class has not provided an implementation.</exception>
1625       <returns>
1626         <see langword="true" /> if <paramref name="destination" /> was large enough to receive the encrypted data; otherwise, <see langword="false" />.</returns>
1627     </member>
1628     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.TryEncryptEcb(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.PaddingMode,System.Int32@)">
1629       <summary>Attempts to encrypt data into the specified buffer, using ECB mode with the specified padding mode.</summary>
1630       <param name="plaintext">The data to encrypt.</param>
1631       <param name="destination">The buffer to receive the ciphertext data.</param>
1632       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1633       <param name="bytesWritten">When this method returns, contains the total number of bytes written to <paramref name="destination" />.</param>
1634       <exception cref="T:System.ArgumentOutOfRangeException">
1635         <paramref name="paddingMode" /> is not a valid padding mode.</exception>
1636       <exception cref="T:System.Security.Cryptography.CryptographicException">The plaintext could not be encrypted successfully.</exception>
1637       <returns>
1638         <see langword="true" /> if <paramref name="destination" /> was large enough to receive the encrypted data; otherwise, <see langword="false" />.</returns>
1639     </member>
1640     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.TryEncryptEcbCore(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.PaddingMode,System.Int32@)">
1641       <summary>When overridden in a derived class, attempts to encrypt data into the specified buffer, using ECB mode with the specified padding mode.</summary>
1642       <param name="plaintext">The data to encrypt.</param>
1643       <param name="destination">The buffer to receive the ciphertext data.</param>
1644       <param name="paddingMode">The padding mode used to produce the ciphertext and remove during decryption.</param>
1645       <param name="bytesWritten">When this method returns, contains the total number of bytes written to <paramref name="destination" />.</param>
1646       <exception cref="T:System.NotSupportedException">A derived class has not provided an implementation.</exception>
1647       <returns>
1648         <see langword="true" /> if <paramref name="destination" /> was large enough to receive the encrypted data; otherwise, <see langword="false" />.</returns>
1649     </member>
1650     <member name="M:System.Security.Cryptography.SymmetricAlgorithm.ValidKeySize(System.Int32)">
1651       <summary>Determines whether the specified key size is valid for the current algorithm.</summary>
1652       <param name="bitLength">The length, in bits, to check for a valid key size.</param>
1653       <returns>
1654         <see langword="true" /> if the specified key size is valid for the current algorithm; otherwise, <see langword="false" />.</returns>
1655     </member>
1656     <member name="P:System.Security.Cryptography.SymmetricAlgorithm.BlockSize">
1657       <summary>Gets or sets the block size, in bits, of the cryptographic operation.</summary>
1658       <exception cref="T:System.Security.Cryptography.CryptographicException">The block size is invalid.</exception>
1659       <returns>The block size, in bits.</returns>
1660     </member>
1661     <member name="P:System.Security.Cryptography.SymmetricAlgorithm.FeedbackSize">
1662       <summary>Gets or sets the feedback size, in bits, of the cryptographic operation for the Cipher Feedback (CFB) and Output Feedback (OFB) cipher modes.</summary>
1663       <exception cref="T:System.Security.Cryptography.CryptographicException">The feedback size is larger than the block size.</exception>
1664       <returns>The feedback size in bits.</returns>
1665     </member>
1666     <member name="P:System.Security.Cryptography.SymmetricAlgorithm.IV">
1667       <summary>Gets or sets the initialization vector (<see cref="P:System.Security.Cryptography.SymmetricAlgorithm.IV" />) for the symmetric algorithm.</summary>
1668       <exception cref="T:System.ArgumentNullException">An attempt was made to set the initialization vector to <see langword="null" />.</exception>
1669       <exception cref="T:System.Security.Cryptography.CryptographicException">An attempt was made to set the initialization vector to an invalid size.</exception>
1670       <returns>The initialization vector.</returns>
1671     </member>
1672     <member name="P:System.Security.Cryptography.SymmetricAlgorithm.Key">
1673       <summary>Gets or sets the secret key for the symmetric algorithm.</summary>
1674       <exception cref="T:System.ArgumentNullException">An attempt was made to set the key to <see langword="null" />.</exception>
1675       <exception cref="T:System.Security.Cryptography.CryptographicException">The key size is invalid.</exception>
1676       <returns>The secret key to use for the symmetric algorithm.</returns>
1677     </member>
1678     <member name="P:System.Security.Cryptography.SymmetricAlgorithm.KeySize">
1679       <summary>Gets or sets the size, in bits, of the secret key used by the symmetric algorithm.</summary>
1680       <exception cref="T:System.Security.Cryptography.CryptographicException">The key size is not valid.</exception>
1681       <returns>The size, in bits, of the secret key used by the symmetric algorithm.</returns>
1682     </member>
1683     <member name="P:System.Security.Cryptography.SymmetricAlgorithm.LegalBlockSizes">
1684       <summary>Gets the block sizes, in bits, that are supported by the symmetric algorithm.</summary>
1685       <returns>An array that contains the block sizes supported by the algorithm.</returns>
1686     </member>
1687     <member name="P:System.Security.Cryptography.SymmetricAlgorithm.LegalKeySizes">
1688       <summary>Gets the key sizes, in bits, that are supported by the symmetric algorithm.</summary>
1689       <returns>An array that contains the key sizes supported by the algorithm.</returns>
1690     </member>
1691     <member name="P:System.Security.Cryptography.SymmetricAlgorithm.Mode">
1692       <summary>Gets or sets the mode for operation of the symmetric algorithm.</summary>
1693       <exception cref="T:System.Security.Cryptography.CryptographicException">The cipher mode is not one of the <see cref="T:System.Security.Cryptography.CipherMode" /> values.</exception>
1694       <returns>The mode for operation of the symmetric algorithm. The default is <see cref="F:System.Security.Cryptography.CipherMode.CBC" />.</returns>
1695     </member>
1696     <member name="P:System.Security.Cryptography.SymmetricAlgorithm.Padding">
1697       <summary>Gets or sets the padding mode used in the symmetric algorithm.</summary>
1698       <exception cref="T:System.Security.Cryptography.CryptographicException">The padding mode is not one of the <see cref="T:System.Security.Cryptography.PaddingMode" /> values.</exception>
1699       <returns>The padding mode used in the symmetric algorithm. The default is <see cref="F:System.Security.Cryptography.PaddingMode.PKCS7" />.</returns>
1700     </member>
1701   </members>
1702 </doc>