Я пытаюсь понять следующее:
Если я объявляю 64 байта в качестве длины массива (буфера). Когда я конвертирую в строку base 64, он говорит, что длина равна 88. Разве длина не должна быть только 64, так как я передаю 64 байта? Возможно, я совершенно не понимаю, как это работает на самом деле. Если это так, не могли бы вы объяснить.
//Generate a cryptographic random number
RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
// Create byte array
byte[] buffer = new byte[64];
// Get random bytes
rng.GetBytes(buffer);
// This line gives me 88 as a result.
// Shouldn't it give me 64 as declared above?
throw new Exception(Convert.ToBase64String(buffer).Length.ToString());
// Return a Base64 string representation of the random number
return Convert.ToBase64String(buffer);