если Вам просто нужен он для связанного с дб материала, некоторые ИЛИ Картопостроители (например, NHibernate) поддерживают transactinos из поля на значение по умолчанию.
Это должно правильно заполнить его: -
base64 = base64.PadRight(base64.Length + (4 - base64.Length % 4) % 4, '=');
Также проверьте класс HttpServerUtility с помощью методов UrlTokenEncode и UrlTokenDecode, которые обрабатывают Безопасное для URL кодирование и декодирование Base64.
Примечание 1. Результат не является допустимой строкой Base64. Некоторые небезопасные символы для URL заменены.
Примечание 2: результат отличается от алгоритма base64url в RFC4648.
///<summary>
/// Base 64 Encoding with URL and Filename Safe Alphabet using UTF-8 character set.
///</summary>
///<param name="str">The origianl string</param>
///<returns>The Base64 encoded string</returns>
public static string Base64ForUrlEncode(string str)
{
byte[] encbuff = Encoding.UTF8.GetBytes(str);
return HttpServerUtility.UrlTokenEncode(encbuff);
}
///<summary>
/// Decode Base64 encoded string with URL and Filename Safe Alphabet using UTF-8.
///</summary>
///<param name="str">Base64 code</param>
///<returns>The decoded string.</returns>
public static string Base64ForUrlDecode(string str)
{
byte[] decbuff = HttpServerUtility.UrlTokenDecode(str);
return Encoding.UTF8.GetString(decbuff);
}