/// <summary>
/// Converts byte-array to Base64 string.
/// </summary>
/// <param name="inputBytes">Byte array to convert.</param>
/// <returns>A Base64 string representing the input byte-array.</returns>
static public string ToBase64String(byte[] inputBytes)
{
StringBuilder sb = new StringBuilder();
ToBase64Transform base64Transform = new ToBase64Transform();
byte[] outputBytes = new byte[base64Transform.OutputBlockSize];
// Initializie the offset size.
int inputOffset = 0;
// Iterate through inputBytes transforming by blockSize.
int inputBlockSize = base64Transform.InputBlockSize;
while ((inputBytes.Length - inputOffset) > inputBlockSize)
{
base64Transform.TransformBlock(
inputBytes, inputOffset, inputBlockSize, outputBytes, 0);
inputOffset += base64Transform.InputBlockSize;
sb.Append(Encoding.UTF8.GetString(
outputBytes, 0, base64Transform.OutputBlockSize));
}
// Transform the final block of data.
outputBytes = base64Transform.TransformFinalBlock(
inputBytes, inputOffset, (inputBytes.Length - inputOffset));
sb.Append(Encoding.UTF8.GetString(outputBytes, 0, outputBytes.Length));
return sb.ToString();
}