class BCrypt::Engine
def self.hash_secret(secret, salt, _ = nil)
Given a secret and a valid salt (see BCrypt::Engine.generate_salt) calculates
def self.hash_secret(secret, salt, _ = nil) unless _.nil? warn "[DEPRECATION] Passing the third argument to " \ "`BCrypt::Engine.hash_secret` is deprecated. " \ "Please do not pass the third argument which " \ "is currently not used." end if valid_secret?(secret) if valid_salt?(salt) if RUBY_PLATFORM == "java" Java.bcrypt_jruby.BCrypt.hashpw(secret.to_s.to_java_bytes, salt.to_s) else secret = secret.to_s secret = secret.byteslice(0, MAX_SECRET_BYTESIZE) if secret && secret.bytesize > MAX_SECRET_BYTESIZE __bc_crypt(secret, salt) end else raise Errors::InvalidSalt.new("invalid salt") end else raise Errors::InvalidSecret.new("invalid secret") end end