Best strategy to implement secure, one-time voting links

I am building an application where guests and registered users are sent an email with a request to vote on a given issue. - registered user sends vote request email, - email containts voting links that have some type of enrypted link paramenter to uniquely identify the vote request to that recipient - recipient clicks on appropriate link to vote - the link is then invalid after the vote

I want to incorporate this with state_machine.

Is there a gem that helps enable this or is this something I should build myself.

Devise and authlogic seem to do it but only for the user model - a user could have many such vote requests outstanding at any time).

For those who have looked at Hobo, this is basically what they call a "secure link" patter and it uses a key and key timestamp to enable the process