A few years ago, Ka-Ping Yee wrote http://passpet.org/ with my assistance. Unfortunately we never got it to the point of being really released as such, although the darcs repository is available. It's a variant of the sha1(sitename + secret) approach that's been mentioned in other comments, with some extra features to improve its strength against phishing and password-guessing attacks.