码迷,mamicode.com
首页 > 其他好文 > 详细

rails--bcrypt对密码加密

时间:2018-05-24 23:04:58      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:conf   als   ati   否则   val   generate   密码加密   mini   bcrypt   

一、引入gem包

gem bcrypt,  3.1.11 #不一定要指定版本号,最好指定合适的 然后执行bundle install

二、用户需要有password_digest属性

rails generate migration add_password_digest_to_users password_digest:string

三、用户需要添加has_secure_password方法

该方法会给user添加两个虚拟属性password和password_confirmation,且创建user的时候会执行存在性验证和匹配验证

并且获得authenticate方法(根据密码验证),如果密码正确,返回对应的用户对象,否则返回false

class User < ApplicationRecord
    ...
    ...
    has_secure_password
end

四、给密码添加合适的长度验证

    has_secure_password
    validates :password, presence: true, length: { minimum: 6 }

五、创建并验证用户

User.create(email: "abc@a.com", password: "abcdef", password_confirmation: "abcdef") #如果这两个属性不一致将不能创建,此处假设user有email属性
#验证
user = User.find_by(email: "abc@a.com")

user.authenticate("not the right password") # => false
user.authenticate("abcdef") # => true

 

rails--bcrypt对密码加密

标签:conf   als   ati   否则   val   generate   密码加密   mini   bcrypt   

原文地址:https://www.cnblogs.com/ltns-hhyb/p/9085365.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!