mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-07-09 14:47:23 +00:00
22 lines
552 B
Dart
22 lines
552 B
Dart
import 'dart:convert';
|
|
|
|
String decodeBase64(String str) {
|
|
//'-', '+' 62nd char of encoding, '_', '/' 63rd char of encoding
|
|
String output = str.replaceAll('-', '+').replaceAll('_', '/');
|
|
switch (output.length % 4) {
|
|
// Pad with trailing '='
|
|
case 0: // No pad chars in this case
|
|
break;
|
|
case 2: // Two pad chars
|
|
output += '==';
|
|
break;
|
|
case 3: // One pad char
|
|
output += '=';
|
|
break;
|
|
default:
|
|
throw Exception('Illegal base64url string!"');
|
|
}
|
|
|
|
return utf8.decode(base64Url.decode(output));
|
|
}
|