It could be much nicer, but I wanted to not have to include any fancy gems. This takes an address, removes all new lines and white spaces, makes everything lower case, and takes its SHA-256 value. You are first asked to provide a salt, this can be a pretty simple string and still offer significant protection, it is mainly to protect from an attacker who gets the hash list comparing random addresses to hash values until they hit on one. This script should be run from a newly created directory because it creates new files named whatever the hash ends up being, and comments are stored in these files. When an address is entered for the first time the file is created and users can leave comments, every other time the comments are displayed and the user can add more comments. It's really basic but it does take care of basic formatting issues and hashing for you, it is Ruby so does require you to have the interpreter but doesn't require anything that doesn't come with the standard interpreter. edit: hmm I guess I need to use regular expressions to find all formats data can be stored in and standardize it to make sure the hash value can not be thrown off by customers putting their address in different formats. Anyone want to help with a list of ways that the same thing can be written, in regard to addresses?