1 <?xml version="1.0" encoding="utf-8"?><doc>
3 <name>System.Security.Cryptography.Primitives</name>
6 <member name="T:System.Security.Cryptography.AsymmetricAlgorithm">
7 <summary>Represents the abstract base class from which all implementations of asymmetric algorithms must inherit.</summary>
9 <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.#ctor">
10 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm"></see> class.</summary>
11 <exception cref="T:System.Security.Cryptography.CryptographicException">The implementation of the derived class is not valid.</exception>
13 <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.Clear">
14 <summary>Releases all resources used by the <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm"></see> class.</summary>
16 <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.Create">
17 <summary>Creates a default cryptographic object used to perform the asymmetric algorithm.</summary>
18 <returns>A new <see cref="T:System.Security.Cryptography.RSACryptoServiceProvider"></see> instance, unless the default settings have been changed with the &lt;cryptoClass&gt; element.</returns>
20 <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.Create(System.String)">
21 <summary>Creates an instance of the specified implementation of an asymmetric algorithm.</summary>
22 <param name="algName">The asymmetric algorithm implementation to use. The following table shows the valid values for the algName parameter and the algorithms they map to.
27 System.Security.Cryptography.AsymmetricAlgorithm
29 <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm"></see> RSA
31 <see cref="T:System.Security.Cryptography.RSA"></see> System.Security.Cryptography.RSA
33 <see cref="T:System.Security.Cryptography.RSA"></see> DSA
35 <see cref="T:System.Security.Cryptography.DSA"></see> System.Security.Cryptography.DSA
37 <see cref="T:System.Security.Cryptography.DSA"></see> ECDsa
39 <see cref="T:System.Security.Cryptography.ECDsa"></see> ECDsaCng
41 <see cref="T:System.Security.Cryptography.ECDsaCng"></see> System.Security.Cryptography.ECDsaCng
43 <see cref="T:System.Security.Cryptography.ECDsaCng"></see> ECDH
45 <see cref="T:System.Security.Cryptography.ECDiffieHellman"></see> ECDiffieHellman
47 <see cref="T:System.Security.Cryptography.ECDiffieHellman"></see> ECDiffieHellmanCng
49 <see cref="T:System.Security.Cryptography.ECDiffieHellmanCng"></see> System.Security.Cryptography.ECDiffieHellmanCng
51 <see cref="T:System.Security.Cryptography.ECDiffieHellmanCng"></see></param>
52 <returns>A new instance of the specified asymmetric algorithm implementation.</returns>
54 <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.Dispose">
55 <summary>Releases all resources used by the current instance of the <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm"></see> class.</summary>
57 <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.Dispose(System.Boolean)">
58 <summary>Releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm"></see> class and optionally releases the managed resources.</summary>
59 <param name="disposing"><see langword="true"></see> to release both managed and unmanaged resources; <see langword="false"></see> to release only unmanaged resources.</param>
61 <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.FromXmlString(System.String)">
62 <summary>When overridden in a derived class, reconstructs an <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm"></see> object from an XML string. Otherwise, throws a <see cref="T:System.NotImplementedException"></see>.</summary>
63 <param name="xmlString">The XML string to use to reconstruct the <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm"></see> object.</param>
65 <member name="P:System.Security.Cryptography.AsymmetricAlgorithm.KeyExchangeAlgorithm">
66 <summary>When overridden in a derived class, gets the name of the key exchange algorithm. Otherwise, throws an <see cref="T:System.NotImplementedException"></see>.</summary>
67 <returns>The name of the key exchange algorithm.</returns>
69 <member name="P:System.Security.Cryptography.AsymmetricAlgorithm.KeySize">
70 <summary>Gets or sets the size, in bits, of the key modulus used by the asymmetric algorithm.</summary>
71 <returns>The size, in bits, of the key modulus used by the asymmetric algorithm.</returns>
72 <exception cref="T:System.Security.Cryptography.CryptographicException">The key modulus size is invalid.</exception>
74 <member name="F:System.Security.Cryptography.AsymmetricAlgorithm.KeySizeValue">
75 <summary>Represents the size, in bits, of the key modulus used by the asymmetric algorithm.</summary>
78 <member name="P:System.Security.Cryptography.AsymmetricAlgorithm.LegalKeySizes">
79 <summary>Gets the key sizes that are supported by the asymmetric algorithm.</summary>
80 <returns>An array that contains the key sizes supported by the asymmetric algorithm.</returns>
82 <member name="F:System.Security.Cryptography.AsymmetricAlgorithm.LegalKeySizesValue">
83 <summary>Specifies the key sizes that are supported by the asymmetric algorithm.</summary>
86 <member name="P:System.Security.Cryptography.AsymmetricAlgorithm.SignatureAlgorithm">
87 <summary>When implemented in a derived class, gets the name of the signature algorithm. Otherwise, always throws a <see cref="T:System.NotImplementedException"></see>.</summary>
88 <returns>The name of the signature algorithm.</returns>
90 <member name="M:System.Security.Cryptography.AsymmetricAlgorithm.ToXmlString(System.Boolean)">
91 <summary>When overridden in a derived class, creates and returns an XML string representation of the current <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm"></see> object. Otherwise, throws a <see cref="T:System.NotImplementedException"></see>.</summary>
92 <param name="includePrivateParameters"><see langword="true"></see> to include private parameters; otherwise, <see langword="false"></see>.</param>
93 <returns>An XML string encoding of the current <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm"></see> object.</returns>
95 <member name="T:System.Security.Cryptography.SymmetricAlgorithm">
96 <summary>Represents the abstract base class from which all implementations of symmetric algorithms must inherit.</summary>
98 <member name="M:System.Security.Cryptography.SymmetricAlgorithm.#ctor">
99 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.SymmetricAlgorithm"></see> class.</summary>
100 <exception cref="T:System.Security.Cryptography.CryptographicException">The implementation of the class derived from the symmetric algorithm is not valid.</exception>
102 <member name="P:System.Security.Cryptography.SymmetricAlgorithm.BlockSize">
103 <summary>Gets or sets the block size, in bits, of the cryptographic operation.</summary>
104 <returns>The block size, in bits.</returns>
105 <exception cref="T:System.Security.Cryptography.CryptographicException">The block size is invalid.</exception>
107 <member name="F:System.Security.Cryptography.SymmetricAlgorithm.BlockSizeValue">
108 <summary>Represents the block size, in bits, of the cryptographic operation.</summary>
111 <member name="M:System.Security.Cryptography.SymmetricAlgorithm.Clear">
112 <summary>Releases all resources used by the <see cref="T:System.Security.Cryptography.SymmetricAlgorithm"></see> class.</summary>
114 <member name="M:System.Security.Cryptography.SymmetricAlgorithm.Create">
115 <summary>Creates a default cryptographic object used to perform the symmetric algorithm.</summary>
116 <returns>A default cryptographic object used to perform the symmetric algorithm.</returns>
118 <member name="M:System.Security.Cryptography.SymmetricAlgorithm.Create(System.String)">
119 <summary>Creates the specified cryptographic object used to perform the symmetric algorithm.</summary>
120 <param name="algName">The name of the specific implementation of the <see cref="T:System.Security.Cryptography.SymmetricAlgorithm"></see> class to use.</param>
121 <returns>A cryptographic object used to perform the symmetric algorithm.</returns>
123 <member name="M:System.Security.Cryptography.SymmetricAlgorithm.CreateDecryptor">
124 <summary>Creates a symmetric decryptor object with the current <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.Key"></see> property and initialization vector (<see cref="P:System.Security.Cryptography.SymmetricAlgorithm.IV"></see>).</summary>
125 <returns>A symmetric decryptor object.</returns>
127 <member name="M:System.Security.Cryptography.SymmetricAlgorithm.CreateDecryptor(System.Byte[],System.Byte[])">
128 <summary>When overridden in a derived class, creates a symmetric decryptor object with the specified <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.Key"></see> property and initialization vector (<see cref="P:System.Security.Cryptography.SymmetricAlgorithm.IV"></see>).</summary>
129 <param name="rgbKey">The secret key to use for the symmetric algorithm.</param>
130 <param name="rgbIV">The initialization vector to use for the symmetric algorithm.</param>
131 <returns>A symmetric decryptor object.</returns>
133 <member name="M:System.Security.Cryptography.SymmetricAlgorithm.CreateEncryptor">
134 <summary>Creates a symmetric encryptor object with the current <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.Key"></see> property and initialization vector (<see cref="P:System.Security.Cryptography.SymmetricAlgorithm.IV"></see>).</summary>
135 <returns>A symmetric encryptor object.</returns>
137 <member name="M:System.Security.Cryptography.SymmetricAlgorithm.CreateEncryptor(System.Byte[],System.Byte[])">
138 <summary>When overridden in a derived class, creates a symmetric encryptor object with the specified <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.Key"></see> property and initialization vector (<see cref="P:System.Security.Cryptography.SymmetricAlgorithm.IV"></see>).</summary>
139 <param name="rgbKey">The secret key to use for the symmetric algorithm.</param>
140 <param name="rgbIV">The initialization vector to use for the symmetric algorithm.</param>
141 <returns>A symmetric encryptor object.</returns>
143 <member name="M:System.Security.Cryptography.SymmetricAlgorithm.Dispose">
144 <summary>Releases all resources used by the current instance of the <see cref="T:System.Security.Cryptography.SymmetricAlgorithm"></see> class.</summary>
146 <member name="M:System.Security.Cryptography.SymmetricAlgorithm.Dispose(System.Boolean)">
147 <summary>Releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.SymmetricAlgorithm"></see> and optionally releases the managed resources.</summary>
148 <param name="disposing"><see langword="true"></see> to release both managed and unmanaged resources; <see langword="false"></see> to release only unmanaged resources.</param>
150 <member name="P:System.Security.Cryptography.SymmetricAlgorithm.FeedbackSize">
151 <summary>Gets or sets the feedback size, in bits, of the cryptographic operation.</summary>
152 <returns>The feedback size in bits.</returns>
153 <exception cref="T:System.Security.Cryptography.CryptographicException">The feedback size is larger than the block size.</exception>
155 <member name="F:System.Security.Cryptography.SymmetricAlgorithm.FeedbackSizeValue">
156 <summary>Represents the feedback size, in bits, of the cryptographic operation.</summary>
159 <member name="M:System.Security.Cryptography.SymmetricAlgorithm.GenerateIV">
160 <summary>When overridden in a derived class, generates a random initialization vector (<see cref="P:System.Security.Cryptography.SymmetricAlgorithm.IV"></see>) to use for the algorithm.</summary>
162 <member name="M:System.Security.Cryptography.SymmetricAlgorithm.GenerateKey">
163 <summary>When overridden in a derived class, generates a random key (<see cref="P:System.Security.Cryptography.SymmetricAlgorithm.Key"></see>) to use for the algorithm.</summary>
165 <member name="P:System.Security.Cryptography.SymmetricAlgorithm.IV">
166 <summary>Gets or sets the initialization vector (<see cref="P:System.Security.Cryptography.SymmetricAlgorithm.IV"></see>) for the symmetric algorithm.</summary>
167 <returns>The initialization vector.</returns>
168 <exception cref="T:System.ArgumentNullException">An attempt was made to set the initialization vector to <see langword="null"></see>.</exception>
169 <exception cref="T:System.Security.Cryptography.CryptographicException">An attempt was made to set the initialization vector to an invalid size.</exception>
171 <member name="F:System.Security.Cryptography.SymmetricAlgorithm.IVValue">
172 <summary>Represents the initialization vector (<see cref="P:System.Security.Cryptography.SymmetricAlgorithm.IV"></see>) for the symmetric algorithm.</summary>
175 <member name="P:System.Security.Cryptography.SymmetricAlgorithm.Key">
176 <summary>Gets or sets the secret key for the symmetric algorithm.</summary>
177 <returns>The secret key to use for the symmetric algorithm.</returns>
178 <exception cref="T:System.ArgumentNullException">An attempt was made to set the key to <see langword="null"></see>.</exception>
179 <exception cref="T:System.Security.Cryptography.CryptographicException">The key size is invalid.</exception>
181 <member name="P:System.Security.Cryptography.SymmetricAlgorithm.KeySize">
182 <summary>Gets or sets the size, in bits, of the secret key used by the symmetric algorithm.</summary>
183 <returns>The size, in bits, of the secret key used by the symmetric algorithm.</returns>
184 <exception cref="T:System.Security.Cryptography.CryptographicException">The key size is not valid.</exception>
186 <member name="F:System.Security.Cryptography.SymmetricAlgorithm.KeySizeValue">
187 <summary>Represents the size, in bits, of the secret key used by the symmetric algorithm.</summary>
190 <member name="F:System.Security.Cryptography.SymmetricAlgorithm.KeyValue">
191 <summary>Represents the secret key for the symmetric algorithm.</summary>
194 <member name="P:System.Security.Cryptography.SymmetricAlgorithm.LegalBlockSizes">
195 <summary>Gets the block sizes, in bits, that are supported by the symmetric algorithm.</summary>
196 <returns>An array that contains the block sizes supported by the algorithm.</returns>
198 <member name="F:System.Security.Cryptography.SymmetricAlgorithm.LegalBlockSizesValue">
199 <summary>Specifies the block sizes, in bits, that are supported by the symmetric algorithm.</summary>
202 <member name="P:System.Security.Cryptography.SymmetricAlgorithm.LegalKeySizes">
203 <summary>Gets the key sizes, in bits, that are supported by the symmetric algorithm.</summary>
204 <returns>An array that contains the key sizes supported by the algorithm.</returns>
206 <member name="F:System.Security.Cryptography.SymmetricAlgorithm.LegalKeySizesValue">
207 <summary>Specifies the key sizes, in bits, that are supported by the symmetric algorithm.</summary>
210 <member name="P:System.Security.Cryptography.SymmetricAlgorithm.Mode">
211 <summary>Gets or sets the mode for operation of the symmetric algorithm.</summary>
212 <returns>The mode for operation of the symmetric algorithm. The default is <see cref="F:System.Security.Cryptography.CipherMode.CBC"></see>.</returns>
213 <exception cref="T:System.Security.Cryptography.CryptographicException">The cipher mode is not one of the <see cref="System.Security.Cryptography.CipherMode"></see> values.</exception>
215 <member name="F:System.Security.Cryptography.SymmetricAlgorithm.ModeValue">
216 <summary>Represents the cipher mode used in the symmetric algorithm.</summary>
219 <member name="P:System.Security.Cryptography.SymmetricAlgorithm.Padding">
220 <summary>Gets or sets the padding mode used in the symmetric algorithm.</summary>
221 <returns>The padding mode used in the symmetric algorithm. The default is <see cref="F:System.Security.Cryptography.PaddingMode.PKCS7"></see>.</returns>
222 <exception cref="T:System.Security.Cryptography.CryptographicException">The padding mode is not one of the <see cref="System.Security.Cryptography.PaddingMode"></see> values.</exception>
224 <member name="F:System.Security.Cryptography.SymmetricAlgorithm.PaddingValue">
225 <summary>Represents the padding mode used in the symmetric algorithm.</summary>
228 <member name="M:System.Security.Cryptography.SymmetricAlgorithm.ValidKeySize(System.Int32)">
229 <summary>Determines whether the specified key size is valid for the current algorithm.</summary>
230 <param name="bitLength">The length, in bits, to check for a valid key size.</param>
231 <returns><see langword="true"></see> if the specified key size is valid for the current algorithm; otherwise, <see langword="false"></see>.</returns>
233 <member name="T:System.Security.Cryptography.CryptoStreamMode">
234 <summary>Specifies the mode of a cryptographic stream.</summary>
236 <member name="F:System.Security.Cryptography.CryptoStreamMode.Read">
237 <summary>Read access to a cryptographic stream.</summary>
240 <member name="F:System.Security.Cryptography.CryptoStreamMode.Write">
241 <summary>Write access to a cryptographic stream.</summary>
244 <member name="T:System.Security.Cryptography.CryptoStream">
245 <summary>Defines a stream that links data streams to cryptographic transformations.</summary>
247 <member name="M:System.Security.Cryptography.CryptoStream.#ctor(System.IO.Stream,System.Security.Cryptography.ICryptoTransform,System.Security.Cryptography.CryptoStreamMode)">
248 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.CryptoStream"></see> class with a target data stream, the transformation to use, and the mode of the stream.</summary>
249 <param name="stream">The stream on which to perform the cryptographic transformation.</param>
250 <param name="transform">The cryptographic transformation that is to be performed on the stream.</param>
251 <param name="mode">One of the <see cref="T:System.Security.Cryptography.CryptoStreamMode"></see> values.</param>
252 <exception cref="T:System.ArgumentException"><paramref name="stream">stream</paramref> is invalid.</exception>
254 <member name="M:System.Security.Cryptography.CryptoStream.#ctor(System.IO.Stream,System.Security.Cryptography.ICryptoTransform,System.Security.Cryptography.CryptoStreamMode,System.Boolean)">
255 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.CryptoStream"></see> class.</summary>
256 <param name="stream">The stream on which to perform the cryptographic transformation.</param>
257 <param name="transform">The cryptographic transformation that is to be performed on the stream.</param>
258 <param name="mode">The mode of the stream.</param>
259 <param name="leaveOpen"><see langword="true"></see> to not close the underlying stream when the <see cref="T:System.Security.Cryptography.CryptoStream"></see> object is disposed; otherwise, <see langword="false"></see>.</param>
260 <exception cref="T:System.ArgumentException"><paramref name="mode">mode</paramref> is invalid.</exception>
262 <member name="M:System.Security.Cryptography.CryptoStream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)">
263 <param name="buffer"></param>
264 <param name="offset"></param>
265 <param name="count"></param>
266 <param name="callback"></param>
267 <param name="state"></param>
270 <member name="M:System.Security.Cryptography.CryptoStream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)">
271 <param name="buffer"></param>
272 <param name="offset"></param>
273 <param name="count"></param>
274 <param name="callback"></param>
275 <param name="state"></param>
278 <member name="P:System.Security.Cryptography.CryptoStream.CanRead">
279 <summary>Gets a value indicating whether the current <see cref="T:System.Security.Cryptography.CryptoStream"></see> is readable.</summary>
280 <returns><see langword="true"></see> if the current stream is readable; otherwise, <see langword="false"></see>.</returns>
282 <member name="P:System.Security.Cryptography.CryptoStream.CanSeek">
283 <summary>Gets a value indicating whether you can seek within the current <see cref="T:System.Security.Cryptography.CryptoStream"></see>.</summary>
284 <returns>Always <see langword="false"></see>.</returns>
286 <member name="P:System.Security.Cryptography.CryptoStream.CanWrite">
287 <summary>Gets a value indicating whether the current <see cref="T:System.Security.Cryptography.CryptoStream"></see> is writable.</summary>
288 <returns><see langword="true"></see> if the current stream is writable; otherwise, <see langword="false"></see>.</returns>
290 <member name="M:System.Security.Cryptography.CryptoStream.Clear">
291 <summary>Releases all resources used by the <see cref="T:System.Security.Cryptography.CryptoStream"></see>.</summary>
293 <member name="M:System.Security.Cryptography.CryptoStream.Dispose(System.Boolean)">
294 <summary>Releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.CryptoStream"></see> and optionally releases the managed resources.</summary>
295 <param name="disposing"><see langword="true"></see> to release both managed and unmanaged resources; <see langword="false"></see> to release only unmanaged resources.</param>
297 <member name="M:System.Security.Cryptography.CryptoStream.EndRead(System.IAsyncResult)">
298 <param name="asyncResult"></param>
301 <member name="M:System.Security.Cryptography.CryptoStream.EndWrite(System.IAsyncResult)">
302 <param name="asyncResult"></param>
304 <member name="M:System.Security.Cryptography.CryptoStream.Flush">
305 <summary>Clears all buffers for the current stream and causes any buffered data to be written to the underlying device.</summary>
307 <member name="M:System.Security.Cryptography.CryptoStream.FlushAsync(System.Threading.CancellationToken)">
308 <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>
309 <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"></see>.</param>
310 <returns>A task that represents the asynchronous flush operation.</returns>
311 <exception cref="T:System.ObjectDisposedException">The stream has been disposed.</exception>
313 <member name="M:System.Security.Cryptography.CryptoStream.FlushFinalBlock">
314 <summary>Updates the underlying data source or repository with the current state of the buffer, then clears the buffer.</summary>
315 <exception cref="T:System.Security.Cryptography.CryptographicException">The key is corrupt which can cause invalid padding to the stream.</exception>
316 <exception cref="T:System.NotSupportedException">The current stream is not writable.
318 The final block has already been transformed.</exception>
320 <member name="P:System.Security.Cryptography.CryptoStream.HasFlushedFinalBlock">
321 <summary>Gets a value indicating whether the final buffer block has been written to the underlying stream.</summary>
322 <returns><see langword="true"></see> if the final block has been flushed; otherwise, <see langword="false"></see>.</returns>
324 <member name="P:System.Security.Cryptography.CryptoStream.Length">
325 <summary>Gets the length in bytes of the stream.</summary>
326 <returns>This property is not supported.</returns>
327 <exception cref="T:System.NotSupportedException">This property is not supported.</exception>
329 <member name="P:System.Security.Cryptography.CryptoStream.Position">
330 <summary>Gets or sets the position within the current stream.</summary>
331 <returns>This property is not supported.</returns>
332 <exception cref="T:System.NotSupportedException">This property is not supported.</exception>
334 <member name="M:System.Security.Cryptography.CryptoStream.Read(System.Byte[],System.Int32,System.Int32)">
335 <summary>Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.</summary>
336 <param name="buffer">An array of bytes. A maximum of count bytes are read from the current stream and stored in buffer.</param>
337 <param name="offset">The byte offset in buffer at which to begin storing the data read from the current stream.</param>
338 <param name="count">The maximum number of bytes to be read from the current stream.</param>
339 <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>
340 <exception cref="T:System.NotSupportedException">The <see cref="System.Security.Cryptography.CryptoStreamMode"></see> associated with current <see cref="System.Security.Cryptography.CryptoStream"></see> object does not match the underlying stream. For example, this exception is thrown when using <see cref="System.Security.Cryptography.CryptoStreamMode.Read"></see> with an underlying stream that is write only.</exception>
341 <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="offset">offset</paramref> parameter is less than zero.
343 The <paramref name="count">count</paramref> parameter is less than zero.</exception>
344 <exception cref="T:System.ArgumentException">Thesum of the <paramref name="count">count</paramref> and <paramref name="offset">offset</paramref> parameters is longer than the length of the buffer.</exception>
346 <member name="M:System.Security.Cryptography.CryptoStream.ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
347 <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>
348 <param name="buffer">The buffer to write the data into.</param>
349 <param name="offset">The byte offset in buffer at which to begin writing data from the stream.</param>
350 <param name="count">The maximum number of bytes to read.</param>
351 <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"></see>.</param>
352 <returns>A task that represents the asynchronous read operation. The value of the task object&#39;s <paramref name="TResult">TResult</paramref> 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>
353 <exception cref="T:System.ArgumentNullException"><paramref name="buffer">buffer</paramref> is <see langword="null"></see>.</exception>
354 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="offset">offset</paramref> or <paramref name="count">count</paramref> is negative.</exception>
355 <exception cref="T:System.ArgumentException">The sum of <paramref name="offset">offset</paramref> and <paramref name="count">count</paramref> is larger than the buffer length.</exception>
356 <exception cref="T:System.NotSupportedException">The stream does not support reading.</exception>
357 <exception cref="T:System.ObjectDisposedException">The stream has been disposed.</exception>
358 <exception cref="T:System.InvalidOperationException">The stream is currently in use by a previous read operation.</exception>
360 <member name="M:System.Security.Cryptography.CryptoStream.ReadByte">
363 <member name="M:System.Security.Cryptography.CryptoStream.Seek(System.Int64,System.IO.SeekOrigin)">
364 <summary>Sets the position within the current stream.</summary>
365 <param name="offset">A byte offset relative to the origin parameter.</param>
366 <param name="origin">A <see cref="T:System.IO.SeekOrigin"></see> object indicating the reference point used to obtain the new position.</param>
367 <returns>This method is not supported.</returns>
368 <exception cref="T:System.NotSupportedException">This method is not supported.</exception>
370 <member name="M:System.Security.Cryptography.CryptoStream.SetLength(System.Int64)">
371 <summary>Sets the length of the current stream.</summary>
372 <param name="value">The desired length of the current stream in bytes.</param>
373 <exception cref="T:System.NotSupportedException">This property exists only to support inheritance from <see cref="System.IO.Stream"></see>, and cannot be used.</exception>
375 <member name="M:System.Security.Cryptography.CryptoStream.Write(System.Byte[],System.Int32,System.Int32)">
376 <summary>Writes a sequence of bytes to the current <see cref="T:System.Security.Cryptography.CryptoStream"></see> and advances the current position within the stream by the number of bytes written.</summary>
377 <param name="buffer">An array of bytes. This method copies count bytes from buffer to the current stream.</param>
378 <param name="offset">The byte offset in buffer at which to begin copying bytes to the current stream.</param>
379 <param name="count">The number of bytes to be written to the current stream.</param>
380 <exception cref="T:System.NotSupportedException">The <see cref="System.Security.Cryptography.CryptoStreamMode"></see> associated with current <see cref="System.Security.Cryptography.CryptoStream"></see> object does not match the underlying stream. For example, this exception is thrown when using <see cref="System.Security.Cryptography.CryptoStreamMode.Write"></see> with an underlying stream that is read only.</exception>
381 <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="offset">offset</paramref> parameter is less than zero.
383 The <paramref name="count">count</paramref> parameter is less than zero.</exception>
384 <exception cref="T:System.ArgumentException">The sum of the <paramref name="count">count</paramref> and <paramref name="offset">offset</paramref> parameters is longer than the length of the buffer.</exception>
386 <member name="M:System.Security.Cryptography.CryptoStream.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
387 <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>
388 <param name="buffer">The buffer to write data from.</param>
389 <param name="offset">The zero-based byte offset in buffer from which to begin writing bytes to the stream.</param>
390 <param name="count">The maximum number of bytes to write.</param>
391 <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"></see>.</param>
392 <returns>A task that represents the asynchronous write operation.</returns>
393 <exception cref="T:System.ArgumentNullException"><paramref name="buffer">buffer</paramref> is <see langword="null"></see>.</exception>
394 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="offset">offset</paramref> or <paramref name="count">count</paramref> is negative.</exception>
395 <exception cref="T:System.ArgumentException">The sum of <paramref name="offset">offset</paramref> and <paramref name="count">count</paramref> is larger than the buffer length.</exception>
396 <exception cref="T:System.NotSupportedException">The stream does not support writing.</exception>
397 <exception cref="T:System.ObjectDisposedException">The stream has been disposed.</exception>
398 <exception cref="T:System.InvalidOperationException">The stream is currently in use by a previous write operation.</exception>
400 <member name="M:System.Security.Cryptography.CryptoStream.WriteByte(System.Byte)">
401 <param name="value"></param>
403 <member name="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">
404 <summary>The exception that is thrown when an unexpected operation occurs during a cryptographic operation.</summary>
406 <member name="M:System.Security.Cryptography.CryptographicUnexpectedOperationException.#ctor">
407 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException"></see> class with default properties.</summary>
409 <member name="M:System.Security.Cryptography.CryptographicUnexpectedOperationException.#ctor(System.String)">
410 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException"></see> class with a specified error message.</summary>
411 <param name="message">The error message that explains the reason for the exception.</param>
413 <member name="M:System.Security.Cryptography.CryptographicUnexpectedOperationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
414 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException"></see> class with serialized data.</summary>
415 <param name="info">The object that holds the serialized object data.</param>
416 <param name="context">The contextual information about the source or destination.</param>
418 <member name="M:System.Security.Cryptography.CryptographicUnexpectedOperationException.#ctor(System.String,System.Exception)">
419 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException"></see> class with a specified error message and a reference to the inner exception that is the cause of this exception.</summary>
420 <param name="message">The error message that explains the reason for the exception.</param>
421 <param name="inner">The exception that is the cause of the current exception. If the inner parameter is not <see langword="null"></see>, the current exception is raised in a <see langword="catch"></see> block that handles the inner exception.</param>
423 <member name="M:System.Security.Cryptography.CryptographicUnexpectedOperationException.#ctor(System.String,System.String)">
424 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException"></see> class with a specified error message in the specified format.</summary>
425 <param name="format">The format used to output the error message.</param>
426 <param name="insert">The error message that explains the reason for the exception.</param>
428 <member name="T:System.Security.Cryptography.CryptographicOperations">
431 <member name="M:System.Security.Cryptography.CryptographicOperations.FixedTimeEquals(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
432 <param name="left"></param>
433 <param name="right"></param>
436 <member name="M:System.Security.Cryptography.CryptographicOperations.ZeroMemory(System.Span{System.Byte})">
437 <param name="buffer"></param>
439 <member name="T:System.Security.Cryptography.CryptographicException">
440 <summary>The exception that is thrown when an error occurs during a cryptographic operation.</summary>
442 <member name="M:System.Security.Cryptography.CryptographicException.#ctor">
443 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.CryptographicException"></see> class with default properties.</summary>
445 <member name="M:System.Security.Cryptography.CryptographicException.#ctor(System.Int32)">
446 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.CryptographicException"></see> class with the specified <see langword="HRESULT"></see> error code.</summary>
447 <param name="hr">The <see langword="HRESULT"></see> error code.</param>
449 <member name="M:System.Security.Cryptography.CryptographicException.#ctor(System.String)">
450 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.CryptographicException"></see> class with a specified error message.</summary>
451 <param name="message">The error message that explains the reason for the exception.</param>
453 <member name="M:System.Security.Cryptography.CryptographicException.#ctor(System.String,System.Exception)">
454 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.CryptographicException"></see> class with a specified error message and a reference to the inner exception that is the cause of this exception.</summary>
455 <param name="message">The error message that explains the reason for the exception.</param>
456 <param name="inner">The exception that is the cause of the current exception. If the inner parameter is not <see langword="null"></see>, the current exception is raised in a <see langword="catch"></see> block that handles the inner exception.</param>
458 <member name="M:System.Security.Cryptography.CryptographicException.#ctor(System.String,System.String)">
459 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.CryptographicException"></see> class with a specified error message in the specified format.</summary>
460 <param name="format">The format used to output the error message.</param>
461 <param name="insert">The error message that explains the reason for the exception.</param>
463 <member name="T:System.Security.Cryptography.CipherMode">
464 <summary>Specifies the block cipher mode to use for encryption.</summary>
466 <member name="F:System.Security.Cryptography.CipherMode.CBC">
467 <summary>The Cipher Block Chaining (<see langword="CBC"></see>) 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>
470 <member name="F:System.Security.Cryptography.CipherMode.CFB">
471 <summary>The Cipher Feedback (<see langword="CFB"></see>) 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"></see> property. Algorithms that support CFB use this property to set the feedback.</summary>
474 <member name="F:System.Security.Cryptography.CipherMode.CTS">
475 <summary>The Cipher Text Stealing (<see langword="CTS"></see>) 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"></see> mode for all but the last two blocks of the plain text.</summary>
478 <member name="F:System.Security.Cryptography.CipherMode.ECB">
479 <summary>The Electronic Codebook (<see langword="ECB"></see>) 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>
482 <member name="F:System.Security.Cryptography.CipherMode.OFB">
483 <summary>The Output Feedback (<see langword="OFB"></see>) 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"></see>; 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>
486 <member name="T:System.Security.Cryptography.HashAlgorithm">
487 <summary>Represents the base class from which all implementations of cryptographic hash algorithms must derive.</summary>
489 <member name="M:System.Security.Cryptography.HashAlgorithm.#ctor">
490 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.HashAlgorithm"></see> class.</summary>
492 <member name="P:System.Security.Cryptography.HashAlgorithm.CanReuseTransform">
493 <summary>Gets a value indicating whether the current transform can be reused.</summary>
494 <returns>Always <see langword="true"></see>.</returns>
496 <member name="P:System.Security.Cryptography.HashAlgorithm.CanTransformMultipleBlocks">
497 <summary>When overridden in a derived class, gets a value indicating whether multiple blocks can be transformed.</summary>
498 <returns><see langword="true"></see> if multiple blocks can be transformed; otherwise, <see langword="false"></see>.</returns>
500 <member name="M:System.Security.Cryptography.HashAlgorithm.Clear">
501 <summary>Releases all resources used by the <see cref="T:System.Security.Cryptography.HashAlgorithm"></see> class.</summary>
503 <member name="M:System.Security.Cryptography.HashAlgorithm.ComputeHash(System.Byte[])">
504 <summary>Computes the hash value for the specified byte array.</summary>
505 <param name="buffer">The input to compute the hash code for.</param>
506 <returns>The computed hash code.</returns>
507 <exception cref="T:System.ArgumentNullException"><paramref name="buffer">buffer</paramref> is <see langword="null"></see>.</exception>
508 <exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
510 <member name="M:System.Security.Cryptography.HashAlgorithm.ComputeHash(System.IO.Stream)">
511 <summary>Computes the hash value for the specified <see cref="T:System.IO.Stream"></see> object.</summary>
512 <param name="inputStream">The input to compute the hash code for.</param>
513 <returns>The computed hash code.</returns>
514 <exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
516 <member name="M:System.Security.Cryptography.HashAlgorithm.ComputeHash(System.Byte[],System.Int32,System.Int32)">
517 <summary>Computes the hash value for the specified region of the specified byte array.</summary>
518 <param name="buffer">The input to compute the hash code for.</param>
519 <param name="offset">The offset into the byte array from which to begin using data.</param>
520 <param name="count">The number of bytes in the array to use as data.</param>
521 <returns>The computed hash code.</returns>
522 <exception cref="T:System.ArgumentException"><paramref name="count">count</paramref> is an invalid value.
524 <paramref name="buffer">buffer</paramref> length is invalid.</exception>
525 <exception cref="T:System.ArgumentNullException"><paramref name="buffer">buffer</paramref> is <see langword="null"></see>.</exception>
526 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="offset">offset</paramref> is out of range. This parameter requires a non-negative number.</exception>
527 <exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
529 <member name="M:System.Security.Cryptography.HashAlgorithm.Create">
530 <summary>Creates an instance of the default implementation of a hash algorithm.</summary>
531 <returns>A new <see cref="T:System.Security.Cryptography.SHA1CryptoServiceProvider"></see> instance, unless the default settings have been changed using the .</returns>
533 <member name="M:System.Security.Cryptography.HashAlgorithm.Create(System.String)">
534 <summary>Creates an instance of the specified implementation of a hash algorithm.</summary>
535 <param name="hashName">The hash algorithm implementation to use. The following table shows the valid values for the hashName parameter and the algorithms they map to.
542 <see cref="T:System.Security.Cryptography.SHA1CryptoServiceProvider"></see> SHA1
544 <see cref="T:System.Security.Cryptography.SHA1CryptoServiceProvider"></see> System.Security.Cryptography.SHA1
546 <see cref="T:System.Security.Cryptography.SHA1CryptoServiceProvider"></see> System.Security.Cryptography.HashAlgorithm
548 <see cref="T:System.Security.Cryptography.SHA1CryptoServiceProvider"></see> MD5
550 <see cref="T:System.Security.Cryptography.MD5CryptoServiceProvider"></see> System.Security.Cryptography.MD5
552 <see cref="T:System.Security.Cryptography.MD5CryptoServiceProvider"></see> SHA256
554 <see cref="T:System.Security.Cryptography.SHA256Managed"></see> SHA-256
556 <see cref="T:System.Security.Cryptography.SHA256Managed"></see> System.Security.Cryptography.SHA256
558 <see cref="T:System.Security.Cryptography.SHA256Managed"></see> SHA384
560 <see cref="T:System.Security.Cryptography.SHA384Managed"></see> SHA-384
562 <see cref="T:System.Security.Cryptography.SHA384Managed"></see> System.Security.Cryptography.SHA384
564 <see cref="T:System.Security.Cryptography.SHA384Managed"></see> SHA512
566 <see cref="T:System.Security.Cryptography.SHA512Managed"></see> SHA-512
568 <see cref="T:System.Security.Cryptography.SHA512Managed"></see> System.Security.Cryptography.SHA512
570 <see cref="T:System.Security.Cryptography.SHA512Managed"></see></param>
571 <returns>A new instance of the specified hash algorithm, or <see langword="null"></see> if <paramref name="hashName">hashName</paramref> is not a valid hash algorithm.</returns>
573 <member name="M:System.Security.Cryptography.HashAlgorithm.Dispose">
574 <summary>Releases all resources used by the current instance of the <see cref="T:System.Security.Cryptography.HashAlgorithm"></see> class.</summary>
576 <member name="M:System.Security.Cryptography.HashAlgorithm.Dispose(System.Boolean)">
577 <summary>Releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.HashAlgorithm"></see> and optionally releases the managed resources.</summary>
578 <param name="disposing"><see langword="true"></see> to release both managed and unmanaged resources; <see langword="false"></see> to release only unmanaged resources.</param>
580 <member name="P:System.Security.Cryptography.HashAlgorithm.Hash">
581 <summary>Gets the value of the computed hash code.</summary>
582 <returns>The current value of the computed hash code.</returns>
583 <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException"><see cref="System.Security.Cryptography.HashAlgorithm.HashValue"></see> is <see langword="null"></see>.</exception>
584 <exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
586 <member name="M:System.Security.Cryptography.HashAlgorithm.HashCore(System.Byte[],System.Int32,System.Int32)">
587 <summary>When overridden in a derived class, routes data written to the object into the hash algorithm for computing the hash.</summary>
588 <param name="array">The input to compute the hash code for.</param>
589 <param name="ibStart">The offset into the byte array from which to begin using data.</param>
590 <param name="cbSize">The number of bytes in the byte array to use as data.</param>
592 <member name="M:System.Security.Cryptography.HashAlgorithm.HashCore(System.ReadOnlySpan{System.Byte})">
593 <param name="source"></param>
595 <member name="M:System.Security.Cryptography.HashAlgorithm.HashFinal">
596 <summary>When overridden in a derived class, finalizes the hash computation after the last data is processed by the cryptographic stream object.</summary>
597 <returns>The computed hash code.</returns>
599 <member name="P:System.Security.Cryptography.HashAlgorithm.HashSize">
600 <summary>Gets the size, in bits, of the computed hash code.</summary>
601 <returns>The size, in bits, of the computed hash code.</returns>
603 <member name="F:System.Security.Cryptography.HashAlgorithm.HashSizeValue">
604 <summary>Represents the size, in bits, of the computed hash code.</summary>
607 <member name="F:System.Security.Cryptography.HashAlgorithm.HashValue">
608 <summary>Represents the value of the computed hash code.</summary>
611 <member name="M:System.Security.Cryptography.HashAlgorithm.Initialize">
612 <summary>Initializes an implementation of the <see cref="T:System.Security.Cryptography.HashAlgorithm"></see> class.</summary>
614 <member name="P:System.Security.Cryptography.HashAlgorithm.InputBlockSize">
615 <summary>When overridden in a derived class, gets the input block size.</summary>
616 <returns>The input block size.</returns>
618 <member name="P:System.Security.Cryptography.HashAlgorithm.OutputBlockSize">
619 <summary>When overridden in a derived class, gets the output block size.</summary>
620 <returns>The output block size.</returns>
622 <member name="F:System.Security.Cryptography.HashAlgorithm.State">
623 <summary>Represents the state of the hash computation.</summary>
626 <member name="M:System.Security.Cryptography.HashAlgorithm.TransformBlock(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
627 <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>
628 <param name="inputBuffer">The input to compute the hash code for.</param>
629 <param name="inputOffset">The offset into the input byte array from which to begin using data.</param>
630 <param name="inputCount">The number of bytes in the input byte array to use as data.</param>
631 <param name="outputBuffer">A copy of the part of the input array used to compute the hash code.</param>
632 <param name="outputOffset">The offset into the output byte array from which to begin writing data.</param>
633 <returns>The number of bytes written.</returns>
634 <exception cref="T:System.ArgumentException"><paramref name="inputCount">inputCount</paramref> uses an invalid value.
636 <paramref name="inputBuffer">inputBuffer</paramref> has an invalid length.</exception>
637 <exception cref="T:System.ArgumentNullException"><paramref name="inputBuffer">inputBuffer</paramref> is <see langword="null"></see>.</exception>
638 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="inputOffset">inputOffset</paramref> is out of range. This parameter requires a non-negative number.</exception>
639 <exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
641 <member name="M:System.Security.Cryptography.HashAlgorithm.TransformFinalBlock(System.Byte[],System.Int32,System.Int32)">
642 <summary>Computes the hash value for the specified region of the specified byte array.</summary>
643 <param name="inputBuffer">The input to compute the hash code for.</param>
644 <param name="inputOffset">The offset into the byte array from which to begin using data.</param>
645 <param name="inputCount">The number of bytes in the byte array to use as data.</param>
646 <returns>An array that is a copy of the part of the input that is hashed.</returns>
647 <exception cref="T:System.ArgumentException"><paramref name="inputCount">inputCount</paramref> uses an invalid value.
649 <paramref name="inputBuffer">inputBuffer</paramref> has an invalid offset length.</exception>
650 <exception cref="T:System.ArgumentNullException"><paramref name="inputBuffer">inputBuffer</paramref> is <see langword="null"></see>.</exception>
651 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="inputOffset">inputOffset</paramref> is out of range. This parameter requires a non-negative number.</exception>
652 <exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
654 <member name="M:System.Security.Cryptography.HashAlgorithm.TryComputeHash(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32@)">
655 <param name="source"></param>
656 <param name="destination"></param>
657 <param name="bytesWritten"></param>
660 <member name="M:System.Security.Cryptography.HashAlgorithm.TryHashFinal(System.Span{System.Byte},System.Int32@)">
661 <param name="destination"></param>
662 <param name="bytesWritten"></param>
665 <member name="T:System.Security.Cryptography.PaddingMode">
666 <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>
668 <member name="F:System.Security.Cryptography.PaddingMode.ANSIX923">
669 <summary>The ANSIX923 padding string consists of a sequence of bytes filled with zeros before the length.</summary>
672 <member name="F:System.Security.Cryptography.PaddingMode.ISO10126">
673 <summary>The ISO10126 padding string consists of random data before the length.</summary>
676 <member name="F:System.Security.Cryptography.PaddingMode.None">
677 <summary>No padding is done.</summary>
680 <member name="F:System.Security.Cryptography.PaddingMode.PKCS7">
681 <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>
684 <member name="F:System.Security.Cryptography.PaddingMode.Zeros">
685 <summary>The padding string consists of bytes set to zero.</summary>
688 <member name="T:System.Security.Cryptography.KeySizes">
689 <summary>Determines the set of valid key sizes for the symmetric cryptographic algorithms.</summary>
691 <member name="M:System.Security.Cryptography.KeySizes.#ctor(System.Int32,System.Int32,System.Int32)">
692 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.KeySizes"></see> class with the specified key values.</summary>
693 <param name="minSize">The minimum valid key size.</param>
694 <param name="maxSize">The maximum valid key size.</param>
695 <param name="skipSize">The interval between valid key sizes.</param>
697 <member name="P:System.Security.Cryptography.KeySizes.MaxSize">
698 <summary>Specifies the maximum key size in bits.</summary>
699 <returns>The maximum key size in bits.</returns>
701 <member name="P:System.Security.Cryptography.KeySizes.MinSize">
702 <summary>Specifies the minimum key size in bits.</summary>
703 <returns>The minimum key size in bits.</returns>
705 <member name="P:System.Security.Cryptography.KeySizes.SkipSize">
706 <summary>Specifies the interval between valid key sizes in bits.</summary>
707 <returns>The interval between valid key sizes in bits.</returns>
709 <member name="T:System.Security.Cryptography.KeyedHashAlgorithm">
710 <summary>Represents the abstract class from which all implementations of keyed hash algorithms must derive.</summary>
712 <member name="M:System.Security.Cryptography.KeyedHashAlgorithm.#ctor">
713 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.KeyedHashAlgorithm"></see> class.</summary>
715 <member name="M:System.Security.Cryptography.KeyedHashAlgorithm.Create">
716 <summary>Creates an instance of the default implementation of a keyed hash algorithm.</summary>
717 <returns>A new <see cref="T:System.Security.Cryptography.HMACSHA1"></see> instance, unless the default settings have been changed.</returns>
719 <member name="M:System.Security.Cryptography.KeyedHashAlgorithm.Create(System.String)">
720 <summary>Creates an instance of the specified implementation of a keyed hash algorithm.</summary>
721 <param name="algName">The keyed hash algorithm implementation to use. The following table shows the valid values for the algName parameter and the algorithms they map to.
726 System.Security.Cryptography.HMAC
728 <see cref="T:System.Security.Cryptography.HMACSHA1"></see> System.Security.Cryptography.KeyedHashAlgorithm
730 <see cref="T:System.Security.Cryptography.HMACSHA1"></see> HMACMD5
732 <see cref="T:System.Security.Cryptography.HMACMD5"></see> System.Security.Cryptography.HMACMD5
734 <see cref="T:System.Security.Cryptography.HMACMD5"></see> HMACRIPEMD160
736 <see cref="T:System.Security.Cryptography.HMACRIPEMD160"></see> System.Security.Cryptography.HMACRIPEMD160
738 <see cref="T:System.Security.Cryptography.HMACRIPEMD160"></see> HMACSHA1
740 <see cref="T:System.Security.Cryptography.HMACSHA1"></see> System.Security.Cryptography.HMACSHA1
742 <see cref="T:System.Security.Cryptography.HMACSHA1"></see> HMACSHA256
744 <see cref="T:System.Security.Cryptography.HMACSHA256"></see> System.Security.Cryptography.HMACSHA256
746 <see cref="T:System.Security.Cryptography.HMACSHA256"></see> HMACSHA384
748 <see cref="T:System.Security.Cryptography.HMACSHA384"></see> System.Security.Cryptography.HMACSHA384
750 <see cref="T:System.Security.Cryptography.HMACSHA384"></see> HMACSHA512
752 <see cref="T:System.Security.Cryptography.HMACSHA512"></see> System.Security.Cryptography.HMACSHA512
754 <see cref="T:System.Security.Cryptography.HMACSHA512"></see> MACTripleDES
756 <see cref="T:System.Security.Cryptography.MACTripleDES"></see> System.Security.Cryptography.MACTripleDES
758 <see cref="T:System.Security.Cryptography.MACTripleDES"></see></param>
759 <returns>A new instance of the specified keyed hash algorithm.</returns>
761 <member name="M:System.Security.Cryptography.KeyedHashAlgorithm.Dispose(System.Boolean)">
762 <summary>Releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.KeyedHashAlgorithm"></see> and optionally releases the managed resources.</summary>
763 <param name="disposing"><see langword="true"></see> to release both managed and unmanaged resources; <see langword="false"></see> to release only unmanaged resources.</param>
765 <member name="P:System.Security.Cryptography.KeyedHashAlgorithm.Key">
766 <summary>Gets or sets the key to use in the hash algorithm.</summary>
767 <returns>The key to use in the hash algorithm.</returns>
768 <exception cref="T:System.Security.Cryptography.CryptographicException">An attempt was made to change the <see cref="System.Security.Cryptography.KeyedHashAlgorithm.Key"></see> property after hashing has begun.</exception>
770 <member name="F:System.Security.Cryptography.KeyedHashAlgorithm.KeyValue">
771 <summary>The key to use in the hash algorithm.</summary>
774 <member name="T:System.Security.Cryptography.ICryptoTransform">
775 <summary>Defines the basic operations of cryptographic transformations.</summary>
777 <member name="P:System.Security.Cryptography.ICryptoTransform.CanReuseTransform">
778 <summary>Gets a value indicating whether the current transform can be reused.</summary>
779 <returns><see langword="true"></see> if the current transform can be reused; otherwise, <see langword="false"></see>.</returns>
781 <member name="P:System.Security.Cryptography.ICryptoTransform.CanTransformMultipleBlocks">
782 <summary>Gets a value indicating whether multiple blocks can be transformed.</summary>
783 <returns><see langword="true"></see> if multiple blocks can be transformed; otherwise, <see langword="false"></see>.</returns>
785 <member name="P:System.Security.Cryptography.ICryptoTransform.InputBlockSize">
786 <summary>Gets the input block size.</summary>
787 <returns>The size of the input data blocks in bytes.</returns>
789 <member name="P:System.Security.Cryptography.ICryptoTransform.OutputBlockSize">
790 <summary>Gets the output block size.</summary>
791 <returns>The size of the output data blocks in bytes.</returns>
793 <member name="M:System.Security.Cryptography.ICryptoTransform.TransformBlock(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
794 <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>
795 <param name="inputBuffer">The input for which to compute the transform.</param>
796 <param name="inputOffset">The offset into the input byte array from which to begin using data.</param>
797 <param name="inputCount">The number of bytes in the input byte array to use as data.</param>
798 <param name="outputBuffer">The output to which to write the transform.</param>
799 <param name="outputOffset">The offset into the output byte array from which to begin writing data.</param>
800 <returns>The number of bytes written.</returns>
802 <member name="M:System.Security.Cryptography.ICryptoTransform.TransformFinalBlock(System.Byte[],System.Int32,System.Int32)">
803 <summary>Transforms the specified region of the specified byte array.</summary>
804 <param name="inputBuffer">The input for which to compute the transform.</param>
805 <param name="inputOffset">The offset into the byte array from which to begin using data.</param>
806 <param name="inputCount">The number of bytes in the byte array to use as data.</param>
807 <returns>The computed transform.</returns>
809 <member name="T:System.Security.Cryptography.HMAC">
810 <summary>Represents the abstract class from which all implementations of Hash-based Message Authentication Code (HMAC) must derive.</summary>
812 <member name="M:System.Security.Cryptography.HMAC.#ctor">
813 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.HMAC"></see> class.</summary>
815 <member name="P:System.Security.Cryptography.HMAC.BlockSizeValue">
816 <summary>Gets or sets the block size to use in the hash value.</summary>
817 <returns>The block size to use in the hash value.</returns>
819 <member name="M:System.Security.Cryptography.HMAC.Create">
820 <summary>Creates an instance of the default implementation of a Hash-based Message Authentication Code (HMAC).</summary>
821 <returns>A new SHA-1 instance, unless the default settings have been changed by using the &lt;cryptoClass&gt; element.</returns>
823 <member name="M:System.Security.Cryptography.HMAC.Create(System.String)">
824 <summary>Creates an instance of the specified implementation of a Hash-based Message Authentication Code (HMAC).</summary>
825 <param name="algorithmName">The HMAC implementation to use. The following table shows the valid values for the algorithmName parameter and the algorithms they map to.
830 System.Security.Cryptography.HMAC
832 <see cref="T:System.Security.Cryptography.HMACSHA1"></see> System.Security.Cryptography.KeyedHashAlgorithm
834 <see cref="T:System.Security.Cryptography.HMACSHA1"></see> HMACMD5
836 <see cref="T:System.Security.Cryptography.HMACMD5"></see> System.Security.Cryptography.HMACMD5
838 <see cref="T:System.Security.Cryptography.HMACMD5"></see> HMACRIPEMD160
840 <see cref="T:System.Security.Cryptography.HMACRIPEMD160"></see> System.Security.Cryptography.HMACRIPEMD160
842 <see cref="T:System.Security.Cryptography.HMACRIPEMD160"></see> HMACSHA1
844 <see cref="T:System.Security.Cryptography.HMACSHA1"></see> System.Security.Cryptography.HMACSHA1
846 <see cref="T:System.Security.Cryptography.HMACSHA1"></see> HMACSHA256
848 <see cref="T:System.Security.Cryptography.HMACSHA256"></see> System.Security.Cryptography.HMACSHA256
850 <see cref="T:System.Security.Cryptography.HMACSHA256"></see> HMACSHA384
852 <see cref="T:System.Security.Cryptography.HMACSHA384"></see> System.Security.Cryptography.HMACSHA384
854 <see cref="T:System.Security.Cryptography.HMACSHA384"></see> HMACSHA512
856 <see cref="T:System.Security.Cryptography.HMACSHA512"></see> System.Security.Cryptography.HMACSHA512
858 <see cref="T:System.Security.Cryptography.HMACSHA512"></see> MACTripleDES
860 <see cref="T:System.Security.Cryptography.MACTripleDES"></see> System.Security.Cryptography.MACTripleDES
862 <see cref="T:System.Security.Cryptography.MACTripleDES"></see></param>
863 <returns>A new instance of the specified HMAC implementation.</returns>
865 <member name="M:System.Security.Cryptography.HMAC.Dispose(System.Boolean)">
866 <summary>Releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.HMAC"></see> class when a key change is legitimate and optionally releases the managed resources.</summary>
867 <param name="disposing"><see langword="true"></see> to release both managed and unmanaged resources; <see langword="false"></see> to release only unmanaged resources.</param>
869 <member name="M:System.Security.Cryptography.HMAC.HashCore(System.ReadOnlySpan{System.Byte})">
870 <param name="source"></param>
872 <member name="M:System.Security.Cryptography.HMAC.HashCore(System.Byte[],System.Int32,System.Int32)">
873 <summary>When overridden in a derived class, routes data written to the object into the default <see cref="T:System.Security.Cryptography.HMAC"></see> hash algorithm for computing the hash value.</summary>
874 <param name="rgb">The input data.</param>
875 <param name="ib">The offset into the byte array from which to begin using data.</param>
876 <param name="cb">The number of bytes in the array to use as data.</param>
878 <member name="M:System.Security.Cryptography.HMAC.HashFinal">
879 <summary>When overridden in a derived class, finalizes the hash computation after the last data is processed by the cryptographic stream object.</summary>
880 <returns>The computed hash code in a byte array.</returns>
882 <member name="P:System.Security.Cryptography.HMAC.HashName">
883 <summary>Gets or sets the name of the hash algorithm to use for hashing.</summary>
884 <returns>The name of the hash algorithm.</returns>
885 <exception cref="T:System.Security.Cryptography.CryptographicException">The current hash algorithm cannot be changed.</exception>
887 <member name="M:System.Security.Cryptography.HMAC.Initialize">
888 <summary>Initializes an instance of the default implementation of <see cref="T:System.Security.Cryptography.HMAC"></see>.</summary>
890 <member name="P:System.Security.Cryptography.HMAC.Key">
891 <summary>Gets or sets the key to use in the hash algorithm.</summary>
892 <returns>The key to use in the hash algorithm.</returns>
893 <exception cref="T:System.Security.Cryptography.CryptographicException">An attempt is made to change the <see cref="System.Security.Cryptography.HMAC.Key"></see> property after hashing has begun.</exception>
895 <member name="M:System.Security.Cryptography.HMAC.TryHashFinal(System.Span{System.Byte},System.Int32@)">
896 <param name="destination"></param>
897 <param name="bytesWritten"></param>
900 <member name="T:System.Security.Cryptography.HashAlgorithmName">
901 <summary>Specifies the name of a cryptographic hash algorithm.</summary>
903 <member name="M:System.Security.Cryptography.HashAlgorithmName.#ctor(System.String)">
904 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.HashAlgorithmName"></see> structure with a custom name.</summary>
905 <param name="name">The custom hash algorithm name.</param>
907 <member name="M:System.Security.Cryptography.HashAlgorithmName.Equals(System.Object)">
908 <summary>Returns a value that indicates whether the current instance and a specified object are equal.</summary>
909 <param name="obj">The object to compare with the current instance.</param>
910 <returns><see langword="true"></see> if <paramref name="obj">obj</paramref> is a <see cref="T:System.Security.Cryptography.HashAlgorithmName"></see> object and its <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name"></see> property is equal to that of the current instance. The comparison is ordinal and case-sensitive.</returns>
912 <member name="M:System.Security.Cryptography.HashAlgorithmName.Equals(System.Security.Cryptography.HashAlgorithmName)">
913 <summary>Returns a value that indicates whether two <see cref="T:System.Security.Cryptography.HashAlgorithmName"></see> instances are equal.</summary>
914 <param name="other">The object to compare with the current instance.</param>
915 <returns><see langword="true"></see> if the <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name"></see> property of <paramref name="other">other</paramref> is equal to that of the current instance. The comparison is ordinal and case-sensitive.</returns>
917 <member name="M:System.Security.Cryptography.HashAlgorithmName.GetHashCode">
918 <summary>Returns the hash code for the current instance.</summary>
919 <returns>The hash code for the current instance, or 0 if no <paramref name="name">name</paramref> value was supplied to the <see cref="T:System.Security.Cryptography.HashAlgorithmName"></see> constructor.</returns>
921 <member name="P:System.Security.Cryptography.HashAlgorithmName.MD5">
922 <summary>Gets a hash algorithm name that represents &quot;MD5&quot;.</summary>
923 <returns>A hash algorithm name that represents &quot;MD5&quot;.</returns>
925 <member name="P:System.Security.Cryptography.HashAlgorithmName.Name">
926 <summary>Gets the underlying string representation of the algorithm name.</summary>
927 <returns>The string representation of the algorithm name, or <see langword="null"></see> or <see cref="F:System.String.Empty"></see> if no hash algorithm is available.</returns>
929 <member name="M:System.Security.Cryptography.HashAlgorithmName.op_Equality(System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.HashAlgorithmName)">
930 <summary>Determines whether two specified <see cref="T:System.Security.Cryptography.HashAlgorithmName"></see> objects are equal.</summary>
931 <param name="left">The first object to compare.</param>
932 <param name="right">The second object to compare.</param>
933 <returns><see langword="true"></see> if both <paramref name="left">left</paramref> and <paramref name="right">right</paramref> have the same <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name"></see> value; otherwise, <see langword="false"></see>.</returns>
935 <member name="M:System.Security.Cryptography.HashAlgorithmName.op_Inequality(System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.HashAlgorithmName)">
936 <summary>Determines whether two specified <see cref="T:System.Security.Cryptography.HashAlgorithmName"></see> objects are not equal.</summary>
937 <param name="left">The first object to compare.</param>
938 <param name="right">The second object to compare.</param>
939 <returns><see langword="true"></see> if both <paramref name="left">left</paramref> and <paramref name="right">right</paramref> do not have the same <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name"></see> value; otherwise, <see langword="false"></see>.</returns>
941 <member name="P:System.Security.Cryptography.HashAlgorithmName.SHA1">
942 <summary>Gets a hash algorithm name that represents &quot;SHA1&quot;.</summary>
943 <returns>A hash algorithm name that represents &quot;SHA1&quot;.</returns>
945 <member name="P:System.Security.Cryptography.HashAlgorithmName.SHA256">
946 <summary>Gets a hash algorithm name that represents &quot;SHA256&quot;.</summary>
947 <returns>A hash algorithm name that represents &quot;SHA256&quot;.</returns>
949 <member name="P:System.Security.Cryptography.HashAlgorithmName.SHA384">
950 <summary>Gets a hash algorithm name that represents &quot;SHA384&quot;.</summary>
951 <returns>A hash algorithm name that represents &quot;SHA384&quot;.</returns>
953 <member name="P:System.Security.Cryptography.HashAlgorithmName.SHA512">
954 <summary>Gets a hash algorithm name that represents &quot;SHA512&quot;.</summary>
955 <returns>A hash algorithm name that represents &quot;SHA512&quot;.</returns>
957 <member name="M:System.Security.Cryptography.HashAlgorithmName.ToString">
958 <summary>Returns the string representation of the current <see cref="T:System.Security.Cryptography.HashAlgorithmName"></see> instance.</summary>
959 <returns>The string representation of the current <see cref="T:System.Security.Cryptography.HashAlgorithmName"></see> instance.</returns>