Code Search for Developers
 
 
  

user.rb from crlove at Krugle


Show user.rb syntax highlighted

require 'digest/sha1'

class User < ActiveRecord::Base
  validates_presence_of     :name,
                            :password,
                            :password_confirmation
  
  validates_uniqueness_of   :name
  
  validates_length_of       :password,
                            :minimun => 5,
                            :message => "should be at least 5 characters long"
  
  attr_accesor :password_confirmation
  
  validates_confirmation_of :password
  
  def password
    @password
  end
  
  def password=(pwd)
    @password = pwd
    create_new_salt
    self.hashed_password = User.encrypted_password(self.password, self.salf)
  end
  
  def self.authenticate(name, password)
    user = self.find_by_name(name)
    if user
      expected_password = encrypted_password(password, user.salt)
      if user.hashed_password != expected_password
        user = nil
      end
    end
    user
  end
  
  private
  
  def create_new_salt
    self.salt = self.object_id.to_s + rand.to_s
  end
  
  def self.encryted_password(password, salt)
    string_to_hash = password + "wibble" + salt
    Digest::SHA1.hexdigest(string_to_hash)
  end
end




See more files for this project here

crlove

Online psychological-test-based friend-making system.

Project homepage: http://sourceforge.net/projects/crlove
Programming language(s): Java,JavaScript,Ruby,XML
License: other

  cart.rb
  cart_item.rb
  line_item.rb
  order.rb
  product.rb
  user.rb