`

ruby on rails 用户密码加密

    博客分类:
  • ruby
阅读更多

运行环境: rails 4.2.1 
                   ruby 2.0.0p481
                   mysql(支持多种数据库)

在实际的项目中,需要注意对用户隐私的保护,这往往需要对用户的密码进行加密,下面是对其中一种密码加密库使用的介绍

  1. 在Gemfile中引入gem包'bcrypt-ruby '指定版本号,我使用的版本是3.1.5

gem 'bcrypt-ruby', '~> 3.1.5'

  2.运行bundle install ,安装gem

  3.modle 里原来的password(如果是已经建立了该字段)需要把对应的字段改为password_digest 

def change
    rename_column :users, :password, :password_digest
end

  4.在modle里的user.rb里加入has_secure_password

class User < ActiveRecord::Base
  validates :name, :presence => {:message => '用户不能为空'},:uniqueness =>{:message => '用户名已存在!'}
  validates :phone, :presence => {:message =>'电话不能为空'}
  has_secure_password

end

  5.在controller里的创建新的modle 是注意传入两个字段password,password_confirmation,在创建modle时会自动将加密后的密码保存到password_digest字段上

@user = User.new(user_message)

def user_message
    params.permit(:name, :password, :password_confirmation, :phone)
end

 

  6.保存成功后,登录验证时authenticate 方法验证密码是否正确返回boolean值

if @user.authenticate(params[:password])
   return render :json => check_user_type(@user)
end

 

 

 

 

分享到:
评论

相关推荐

    Ruby.on.Rails.Enterprise.Application.Development

    ### Ruby on Rails企业应用开发详解 #### 一、引言 《Ruby on Rails Enterprise Application Development》这本书由Elliot Smith和Rob Nichols共同编写,由Packt Publishing出版。该书旨在为读者提供一个完整的...

    ruby on rails 搭建redmine

    Ruby on Rails 是一个基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,用于快速开发高效、优雅的web应用程序。Redmine则是一个用Ruby on Rails构建的项目管理软件,提供了任务跟踪、...

    Ruby on rails 教程

    ### Ruby on Rails 教程知识点概述 #### 一、引言 《Ruby on Rails 教程》是一本全面深入介绍Ruby on Rails框架的书籍。它不仅涵盖了Rails的基础知识,还深入探讨了高级技术和最佳实践,是众多开发者推荐的学习资源...

    ruby on rails 常用插件下载

    在这个案例中,“login_engine”可能是包含了用户登录所需的所有组件,如会话管理、密码加密、以及可能的注册、忘记密码等功能。 登录插件一般会包含以下几个关键部分: 1. **模型(Model)**:这部分可能包含`...

    Rails项目源代码

    用户模型通常会包含确认令牌、加密密码等相关字段。 4. **数据库和ActiveRecord**: Rails使用ActiveRecord作为ORM,它使得Ruby类可以直接与数据库表进行交互。在这个项目中,`User`和`Image`模型可能会与数据库中...

    ruby on rails

    7. **安全问题**: CSRF(跨站请求伪造)和XSS(跨站脚本攻击)防护,以及密码加密和用户认证都是开发过程中需要注意的安全问题。 总之,Ruby on Rails虽然强大且高效,但学习曲线相对陡峭。开发者需要不断学习和...

    Ruby-LockboxRuby和Rails的文件加密

    Ruby-Lockbox是一款针对Ruby和Rails应用的安全库,主要用于实现文件和数据的加密。它提供了简单易用的接口,让开发者能够轻松地在应用程序中集成高级加密标准(AES)和其他密码学算法,确保敏感信息的安全性。 Ruby...

    Addison.Wesley.RailsSpace.Building.a.Social.Networking.Website.with.Ruby.on.Rails

    ### Addison.Wesley.RailsSpace:使用Ruby on Rails构建社交网络网站 #### 一、引言 《RailsSpace:使用Ruby on Rails构建社交网络网站》是一本由Michael Hartl和Aurelius Prochazka共同撰写的书籍。本书旨在通过...

    免费下载!!! ruby on rails -- redmine 项目的表结构详细说明以及关联关系

    如 `auth_source_id` 用于标识用户认证来源,`hashed_password` 存储经过哈希处理的密码,`last_login_on` 记录用户最后登录时间,`status` 代表用户状态(如活动、禁用等),`salt` 用于密码加密,以及两因素认证...

    Redmine 搭建 Ruby_Ruby_on_Rails 项目管理系统

    ### Redmine 搭建 Ruby_Ruby_on_Rails 项目管理系统的知识点 #### 一、基础知识与背景介绍 **Redmine** 是一个基于 Web 的项目管理和跟踪工具,它使用 Ruby on Rails(简称 ROR)框架构建而成。Redmine 的设计初衷...

    Build.Your.Own.Ruby.on.Rails.Web.Applications.Feb.2007.pdf

    《构建你自己的Ruby on Rails Web应用》一书由Patrick Lenz撰写,于2007年出版,由SitePoint Pty Ltd.发行。本书是针对希望使用Ruby on Rails框架开发Web应用的初学者和中级开发者的一份详尽指南。以下是根据书籍...

    Apress Pro ActiveRecord Databases with Ruby and Rails.pdf

    《Pro ActiveRecord:Databases with Ruby and Rails》这本书深入探讨了如何使用ActiveRecord这一对象关系映射(Object Relational Mapping, ORM)工具来管理和操作数据库,特别是在Ruby on Rails框架中的应用。...

    Ruby on Rails实现最基本的用户注册和登录功能的教程

    - **has_secure_password**:Rails中的一个特性,用于处理用户密码的加密存储以及验证逻辑。 - **bcrypt**:一种安全的密码哈希算法,被广泛应用于密码存储中,以提高安全性。 #### 三、准备工作 在开始构建用户...

    Ruby与Ruby on Rails框架环境搭建的简明教程

    Ruby on Rails(简称Rails)是基于Ruby构建的一个开源Web应用框架,它遵循MVC(模型-视图-控制器)架构模式,使得开发过程高效且易于维护。 在开始搭建Ruby和Rails的开发环境之前,你需要确保你的系统满足必要的...

    groupon:这是Ruby on Rails的口号。 它基于一个应用程序,用于创建不同的组并将您的活动添加到与家人朋友的目标中来添加到这些组中

    这是Ruby on Rails的口号。 它基于一个应用程序,用于根据与家人/朋友的目标创建不同的组并将活动添加到这些组中。 项目的实时版本: 技能专长 Ruby Ruby on Rails 引导程序4 骗子 加密 will_paginate 鲁比...

    ruby-rails-portfolio

    Ruby on Rails产品组合应用程序 这是我的投资组合中的Ruby on Rails 5应用程序。 特征 实时聊天引擎发表评论 博客 文件夹 拖放界面 技术领域 Ruby on Rails Java脚本 引导程序 动作电缆宝石 适用于照片存储的AWS S3...

    Ruby on Rail 基础知识 一张纸

    ### Ruby on Rails基础知识详解 #### 一、简介 在IT领域,Ruby on Rails(简称RoR或Rails)是一种流行的Web应用程序开发框架,基于Ruby语言。它遵循MVC(模型-视图-控制器)架构模式,使得开发高效且结构化。本篇文章旨在...

    Security On Rails

    《Security On Rails》一书是针对Ruby on Rails开发者在构建应用时所面临的各种安全问题的全面指南。本书不仅深入探讨了常见的安全漏洞,还详细解释了如何利用Ruby on Rails框架来增强应用程序的安全性,使开发者...

Global site tag (gtag.js) - Google Analytics