To communicate with Vuforia through its VWS API I have to do some tricky stuff: first create this string
StringToSign =
HTTP-Verb + "\n" +
Content-MD5 + "\n" +
Content-Type + "\n" +
Date + "\n" +
Request-Path;
where Content-MD5 is the encryption of the request's body...
(from the first boundary to the last one, including the boundary itself). For request types without request body, include the MD5 hash of an empty string which is “d41d8cd98f00b204e9800998ecf8427e”.
then with this string you have to perform the equivalent to this Java code
Signature = Base64 (HMAC-SHA1 (server_secret_key, StringToSign));
where server_secret_key is a constant. Finally you have to plug that into an authorization header of this form
Authorization: VWS {provision_access_key}:{Signature}
I've got no experience with encryption, can anybody tell me how to do this in Dart?
Edit
More info about this on Setting Up the API