HTTP_REFERERからシードを作って、フォーム作成時に適当に作ったGUIDと組み合せてハッシュ化。

HTTP_REMOTE_HOST、HTTP_USER_AGENT、要求されたURIをつなげて、秘密のシードでハッシュ化。フォームインスタンスを区別できて作り方が秘密ならいいので、いつ何度作っても同じハッシュになるように。それになるべく細かい日時を付け足す。
日時部分を取り除いて照合用にする。日時部分も含めて二重投稿防止に用いる。

リモートホストやユーザーエージェントが変わるかもしれないので、トークンの照合ができないときは再発行。投稿し直せるように。
:i/トークンを再発行するとき