public Signature(string id)
{
if (string.IsNullOrEmpty(id))
{
throw new ArgumentNullException("id");
}
this.Id = id;
this.Timestamp = DateTimeOffset.UtcNow;
var b = new byte[8];
var characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".ToCharArray();
var rng = new Random();
this.Nonce = new string(Enumerable.Range(0, 8).Select(n => characters[rng.Next(characters.Length)]).ToArray());
}