Crypto::Bcrypt::Password

class Crypto::Bcrypt::Password

Overview

Generate, read and verify Crypto::Bcrypt hashes.

require "crypto/bcrypt/password"

password = Crypto::Bcrypt::Password.create("super secret", cost: 10)
# => $2a$10$rI4xRiuAN2fyiKwynO6PPuorfuoM4L2PVv6hlnVJEmNLjqcibAfHq

password == "wrong secret" # => false
password == "super secret" # => true

See Crypto::Bcrypt for hints to select the cost when generating hashes.

Defined in:

crypto/bcrypt/password.cr

Class Method Summary

Instance Method Summary

Class Method Detail

def self.create(password, cost = DEFAULT_COST) : selfSource

Hashes a password.

password = Crypto::Bcrypt::Password.create("super secret", cost: 10)
# => $2a$10$rI4xRiuAN2fyiKwynO6PPuorfuoM4L2PVv6hlnVJEmNLjqcibAfHq

def self.new(raw_hash : String)Source

Loads a bcrypt hash.

password = Crypto::Bcrypt::Password.new("$2a$10$X6rw/jDiLBuzHV./JjBNXe8/Po4wTL0fhdDNdAdjcKN/Fup8tGCya")
password.version # => "2a"
password.salt    # => "X6rw/jDiLBuzHV./JjBNXe"
password.digest  # => "8/Po4wTL0fhdDNdAdjcKN/Fup8tGCya"

Instance Method Detail

def ==(password)Source

Verifies a password against the hash.

password = Crypto::Bcrypt::Password.create("super secret")
password == "wrong secret" # => false
password == "super secret" # => true

def cost : Int32Source

def digest : StringSource

def inspect(io)Source

def salt : StringSource

def to_s(io)Source

def version : StringSource

© 2012–2017 Manas Technology Solutions.
Licensed under the Apache License, Version 2.0.
https://crystal-lang.org/api/0.22.0/Crypto/Bcrypt/Password.html

在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

意见反馈
返回顶部