function mk_hash(s) {
return crypto.createHash('sha1').update(s).digest('hex')
}
function mk_cookie(c) {
return c.toString() + "-" + mk_hash(c.toString())
}
function gt_cookie(s) {
var splits = s.split("-", 2);
var counter = parseInt(splits[0])
if (mk_hash(counter.toString()) == splits[1]) {
return counter
} else { return 0 }
}
app.get('/', function(req, res){
var counter = gt_cookie(req.cookies.counter) || 0;
res.cookie('counter', mk_cookie(counter + 1));
...
});