ArEncrypt =========== This is a plugin to make fields easily encrypt-able. It works much like the serialize method. Encryption is done before save using Digest::SHA1.hexdigest() Example ======= # class User < ActiveRecord::Base # # attr_accessor :confirm_password # # validate :password_match # encrypt :password # encrypt :ssn # encrypt :confirm_password # # # def password_match # errors.add(:password, "confirmation must match.") if self.password_changed? && (self.password != self.confirm_password) # end # # end you can also redefine the encryption method by overriding the encrypt method of the ArEncrypt module # module ArEncrypt # def self.encrypt(string) # Digest::SHA1.hexdigest(string).to_s # end # end to check for a match you just call the attribute that is encrypted with _match? on the end example: u = User.first u.password_match?('correctpassword') to find a user with a matching ssn User.ssn_find('123456789') to find all users with a matching ssn User.ssn_find_all('123456789') added an option of finds to extend the search for unencrypted parameters to find all users with a matching ssn and name User.ssn_find_all('123456789', :name=>'john') Copyright (c) 2010 Kelly Mahan, released under the MIT license