This is the complete model. I am trying to encrypt the password.
require 'digest/sha1' > > class User < ActiveRecord::Base > attr_accessible :mailid, :name, :password, :username > validates:name, :presence=>true > validates:mailid, :presence=>true > validates:username, :presence=>true > validates:password, :presence=>true > validates_uniqueness_of :username, :mailid > validates_format_of :mailid, :with => > /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i, :message => "Invalid email" > > attr_accessor :passwordtext > has_many :contacts > > def self.hashedpass(login, pass) > u=find(:first, :conditions=>["login = ?", login]) > return nil if u.nil? > return u if User.encrypt(pass, u.salt)==u.hashed_password > nil > end > > def passwordtext=(pass) > #debugger > @password1=pass > self.salt = SecureRandom.hex(10) if !self.salt? > self.password = User.encrypt(@password1, self.salt) > end > > def self.encrypt(pass, salt) > Digest::SHA1.hexdigest(pass+salt) > end > end > > Regards Sumit Srivastava The power of imagination makes us infinite... On 27 July 2012 12:46, Michael Pavling <pavl...@gmail.com> wrote: > On 27 July 2012 08:07, Michael Pavling <pavl...@gmail.com> wrote: > > Which (if any) of those lines is line 26 in your UserController? What > > does the User.encrypt method look like? > > Ignore me... I can't even read your error message properly myself. > > >> I used the following action to encrypt the password. > >>> > >>> def password > >>> #debugger > >>> @password1=pass > >>> self.salt = SecureRandom.hex(10) if !self.salt? > >>> self.password = User.encrypt(@password1, self.salt) > >>> end > >> > > Right... so where does the value of "pass" come from? Is there a > method that returns it? > > In the (six year old) tutorial you're following, the method is: > > def password=(pass) > @password=pass > self.salt = User.random_string(10) if !self.salt? > self.hashed_password = User.encrypt(@password, self.salt) > end > > but you've changed it to not take any attributes, and to update > "self.password" rather than "self.hashed_password". It would probably > help a little to post a bit more (all) of your model. Also, I'm > curious why, if you're following a tutorial, would you change large > chunks of the functionality? If you implement it exactly as described, > does it work? > > -- > You received this message because you are subscribed to the Google Groups > "Ruby on Rails: Talk" group. > To post to this group, send email to rubyonrails-talk@googlegroups.com. > To unsubscribe from this group, send email to > rubyonrails-talk+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.