def change_password
@admin = Admin.find(params[:id])
if @admin.save
@admin.password = params[:password]
end
end
The virtual password accessor, in the model
def password=(pass)
salt = [Array.new(6) {rand(256).chr}.join].pack("m").chomp
self.salt = salt
self.password_hash = Digest::SHA256.hexdigest(pass + salt)
end