Class: Nexaas::Cipher::Salt

Inherits:
Object
  • Object
show all
Defined in:
lib/nexaas/cipher/salt.rb

Overview

Salt: represents the disturber salt for ciphering :reek:BooleanParameter :reek:ControlParameter

Instance Method Summary collapse

Constructor Details

#initialize(salt, base64: false) ⇒ Salt

Returns a new instance of Salt.



9
10
11
# File 'lib/nexaas/cipher/salt.rb', line 9

def initialize(salt, base64: false)
  @salt = base64 ? Base64.decode64(salt) : salt
end

Instance Method Details

#salt(code = nil, base64: false, truncate: false) ⇒ Object



13
14
15
16
17
18
# File 'lib/nexaas/cipher/salt.rb', line 13

def salt(code = nil, base64: false, truncate: false)
  return Base64.encode64(salt(code, truncate: truncate)).rstrip if base64
  return @salt unless code
  return "\0" * code.length if @salt.empty?
  dup_salt(code, @salt, truncate)
end

#salt?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/nexaas/cipher/salt.rb', line 20

def salt?
  !@salt.empty?
end