encryptToken method

Future<String> encryptToken(
  1. Map<String, dynamic> payload
)

Implementation

Future<String> encryptToken(Map<String, dynamic> payload) async {
  var h = {"alg": "HS512", "typ": "JWT"};
  var base64H = base64.encode(utf8.encode(json.encode(h)));
  var base64P = base64.encode(utf8.encode(json.encode(payload)));
  var macMessage = base64.encode(utf8.encode("$base64H.$base64P"));
  var alg = AesCtr.with256bits(macAlgorithm: Hmac.sha512());

  var mac = await alg.encrypt(utf8.encode(macMessage),
      secretKey: SecretKey(__tokenSecretKey1.codeUnits));
  return "$base64H.$base64P.${mac.cipherText}";
}