implemented user agent salting and length/alphabet checking for persistent login tokens