GenerateSignature()