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

◆ TransformBlock()

int System.Security.Cryptography.ToBase64Transform.TransformBlock ( byte[] inputBuffer,
int inputOffset,
int inputCount,
byte[] outputBuffer,
int outputOffset )
inline

Implements System.Security.Cryptography.ICryptoTransform.

Definition at line 16 of file ToBase64Transform.cs.

17 {
18 ThrowHelper.ValidateTransformBlock(inputBuffer, inputOffset, inputCount);
19 int result;
20 int num = Math.DivRem(inputCount, InputBlockSize, out result);
21 if (num == 0)
22 {
23 ThrowHelper.ThrowArgumentOutOfRange(ThrowHelper.ExceptionArgument.inputCount);
24 }
25 if (outputBuffer == null)
26 {
27 ThrowHelper.ThrowArgumentNull(ThrowHelper.ExceptionArgument.outputBuffer);
28 }
29 if (result != 0)
30 {
31 ThrowHelper.ThrowArgumentOutOfRange(ThrowHelper.ExceptionArgument.inputCount);
32 }
33 int num2 = checked(num * OutputBlockSize);
34 if (num2 > outputBuffer.Length - outputOffset)
35 {
36 ThrowHelper.ThrowArgumentOutOfRange(ThrowHelper.ExceptionArgument.outputBuffer);
37 }
38 Span<byte> span = inputBuffer.AsSpan(inputOffset, inputCount);
39 Span<byte> utf = outputBuffer.AsSpan(outputOffset, num2);
40 int bytesConsumed;
41 int bytesWritten;
42 OperationStatus operationStatus = Base64.EncodeToUtf8(span, utf, out bytesConsumed, out bytesWritten, isFinalBlock: false);
43 return bytesWritten;
44 }
static unsafe OperationStatus EncodeToUtf8(ReadOnlySpan< byte > bytes, Span< byte > utf8, out int bytesConsumed, out int bytesWritten, bool isFinalBlock=true)
Definition Base64.cs:413

References System.Math.DivRem(), System.Buffers.Text.Base64.EncodeToUtf8(), System.Security.Cryptography.ToBase64Transform.InputBlockSize, System.Security.Cryptography.ToBase64Transform.OutputBlockSize, System.Security.Cryptography.ThrowHelper.ThrowArgumentNull(), System.Security.Cryptography.ThrowHelper.ThrowArgumentOutOfRange(), and System.Security.Cryptography.ThrowHelper.ValidateTransformBlock().