about summary refs log tree commit diff
path: root/LibMatrix.Federation/Utilities/UnpaddedBase64.cs
blob: 06f84b20e58b4157af5a82fd9e00064dedca9911 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
namespace LibMatrix.FederationTest.Utilities;

public static class UnpaddedBase64 {
    public static string Encode(byte[] data) {
        return Convert.ToBase64String(data).TrimEnd('=');
    }

    public static byte[] Decode(string base64) {
        string paddedBase64 = base64;
        switch (paddedBase64.Length % 4) {
            case 2: paddedBase64 += "=="; break;
            case 3: paddedBase64 += "="; break;
        }

        return Convert.FromBase64String(paddedBase64);
    }
}