ruby on rails
ruby bcrypt
흰두부1
2020. 11. 9. 14:25
gem install bcrypt
require 'bcrypt'
my_password = BCrypt::Password.create("my password")
#=> "$2a$12$K0ByB.6YI2/OYrB4fQOYLe6Tv0datUVf6VZ/2Jzwm879BW5K1cHey"
my_password
my_password.version #=> "2a"
my_password.cost #=> 12
my_password == "my password" #=> true
my_password == "not my password" #=> false
my_password = BCrypt::Password.new("$2a$12$K0ByB.6YI2/OYrB4fQOYLe6Tv0datUVf6VZ/2Jzwm879BW5K1cHey")
my_password == "my password" #=> true
my_password == "not my password" #=> false
require 'bcrypt'
users = [
{ username: "mashrur", password: "password1"},
{ username: "jack", password: "password2"},
{ username: "arya", password: "password3"},
{ username: "jonshow", password: "password4"},
{ username: "heisenberg", password: "password5"}
]
def create_hash_digest(password)
BCrypt::Password.create(password)
end
def verify_hash_digest(password)
BCrypt::Password.new(password)
end
def create_secure_users(list_of_users)
list_of_users.each do |user_record|
user_record[:password] = create_hash_digest(user_record[:password])
end
list_of_users
end
puts create_secure_users(users)
require 'bcrypt'
users = [
{ username: "mashrur", password: "password1"},
{ username: "jack", password: "password2"},
{ username: "arya", password: "password3"},
{ username: "jonshow", password: "password4"},
{ username: "heisenberg", password: "password5"}
]
def create_hash_digest(password)
BCrypt::Password.create(password)
end
def verify_hash_digest(password)
BCrypt::Password.new(password)
end
def create_secure_users(list_of_users)
list_of_users.each do |user_record|
user_record[:password] = create_hash_digest(user_record[:password])
end
list_of_users
end
new_useres = create_secure_users(users)
puts new_useres
def authenticate_user(username, password, list_of_users)
list_of_users.each do |user_record|
if user_record[:username] == username && verify_hash_digest(user_record[:password]) == password
return user_record
end
end
"Credentials were not correct"
end
puts authenticate_user("heisenberg","password5",new_useres)