Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ ExportArray< T >()

static unsafe byte[] System.Security.Cryptography.AsymmetricAlgorithm.ExportArray< T > ( ReadOnlySpan< T > password,
PbeParameters pbeParameters,
TryExportPbe< T > exporter )
inlinestaticprivateinherited

Definition at line 174 of file AsymmetricAlgorithm.cs.

175 {
176 int minimumLength = 4096;
177 while (true)
178 {
179 byte[] array = CryptoPool.Rent(minimumLength);
180 int bytesWritten = 0;
181 minimumLength = array.Length;
182 fixed (byte* ptr = array)
183 {
184 try
185 {
186 if (exporter(password, pbeParameters, array, out bytesWritten))
187 {
188 return new Span<byte>(array, 0, bytesWritten).ToArray();
189 }
190 }
191 finally
192 {
193 CryptoPool.Return(array, bytesWritten);
194 }
195 minimumLength = checked(minimumLength * 2);
196 }
197 }
198 }

References System.array, System.Security.Cryptography.CryptoPool.Rent(), System.Security.Cryptography.CryptoPool.Return(), and System.Span< T >.ToArray().