Base64UrlConverter.cs 653 B

12345678910111213141516171819202122232425262728
  1. namespace Passwordless;
  2. public static class Base64UrlConverter
  3. {
  4. public static byte[] Decode(string value)
  5. {
  6. var base64 = value
  7. .Replace('-', '+')
  8. .Replace('_', '/');
  9. if (base64.Length % 4 != 0)
  10. {
  11. base64 += new string('=', 4 - base64.Length % 4);
  12. }
  13. return Convert.FromBase64String(base64);
  14. }
  15. public static string Encode(byte[] value)
  16. {
  17. var base64 = Convert.ToBase64String(value);
  18. return base64
  19. .Replace('+', '-')
  20. .Replace('/', '_')
  21. .TrimEnd('=');
  22. }
  23. }