about summary refs log tree commit diff
path: root/LibMatrix.Federation/Utilities/UnpaddedBase64.cs
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2025-06-20 04:50:00 +0200
committerRory& <root@rory.gay>2025-06-20 04:50:00 +0200
commit6975119b7d21cafdd0620d35b9542fb5d47ef392 (patch)
tree790c0b0ccb7e5d9245ae70f4951260803ead0b94 /LibMatrix.Federation/Utilities/UnpaddedBase64.cs
parentStart of federation code (diff)
downloadLibMatrix-6975119b7d21cafdd0620d35b9542fb5d47ef392.tar.xz
Basic federation, move some response classes to the right namespace
Diffstat (limited to 'LibMatrix.Federation/Utilities/UnpaddedBase64.cs')
-rw-r--r--LibMatrix.Federation/Utilities/UnpaddedBase64.cs17
1 files changed, 17 insertions, 0 deletions
diff --git a/LibMatrix.Federation/Utilities/UnpaddedBase64.cs b/LibMatrix.Federation/Utilities/UnpaddedBase64.cs
new file mode 100644

index 0000000..06f84b2 --- /dev/null +++ b/LibMatrix.Federation/Utilities/UnpaddedBase64.cs
@@ -0,0 +1,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); + } +} \ No newline at end of file