Module: SecureHasher

Defined in:
lib/secure_hasher.rb,
lib/secure_hasher/errors.rb,
lib/secure_hasher/hasher.rb,
lib/secure_hasher/version.rb

Defined Under Namespace

Classes: Error

Constant Summary collapse

VERSION =
"1.0.3"

Class Method Summary collapse

Class Method Details

.documentation_hard?Boolean

Returns:

  • (Boolean)


6
7
8
# File 'lib/secure_hasher.rb', line 6

def self.documentation_hard?
  true
end

.secure_hash(password: false, salt: 'xx') ⇒ String

Securely apply a one-way cryptographic hash.

Examples:

Basic Usage

SecureHasher.secure_hash(password: 'mypassword')
# => "xx.sEzWY1w1qk"

Advanced Usage

SecureHasher.secure_hash(password: 'mypassword', salt: 'xy')
# => "xyoxiBrqcbujE"

Parameters:

  • password (String) (defaults to: false)

    Plaintext password.

  • salt (String) (defaults to: 'xx')

    Password salt. Default: xx

Returns:

  • (String)

Raises:

  • (ArgumentError)

    No password provided.



17
18
19
20
21
22
# File 'lib/secure_hasher/hasher.rb', line 17

def self.secure_hash(password: false, salt: 'xx')
  # Must provide a password.
  raise Error, 'No password provided.' unless password
  # Hash password.
  password.crypt(salt)
end