サードパーティのサービスに渡されるユーザーIDに署名するためにhmacsha1を使用しています。すべてのユーザーに同じシークレットが使用され、ソルトはユーザーごとに一意です。
token = userid : timestamp+2hours : hmac(userid : timestamp+2hours, salt+secret)
token_hex = hex(hash)
hmacは短い文字列に対して機能しますか?userid:timestampは、たとえば12:1304985212のようになります。ソルトとシークレットの順序は重要ですか?(ソルト+シークレットvsシークレット+ソルト)共有シークレットの長さは何で、ソルトの長さは何でしょうか?同じシークレットを使用して、サーバーとリモートサービス間のメッセージにも署名できますか、それとも別のシークレットを生成する方がよいですか?
ありがとう