Class: CryptoconditionsRuby::Utils::Hasher

Inherits:
Writer
  • Object
show all
Defined in:
lib/cryptoconditions_ruby/utils/hasher.rb

Instance Attribute Summary

Attributes inherited from Writer

#components

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Writer

#buffer, #write_octet_string, #write_uint, #write_uint16, #write_uint32, #write_uint64, #write_uint8, #write_var_octet_string, #write_var_uint

Constructor Details

#initialize(algorithm) ⇒ Hasher

Returns a new instance of Hasher.



7
8
9
10
11
12
13
14
# File 'lib/cryptoconditions_ruby/utils/hasher.rb', line 7

def initialize(algorithm)
  if algorithm == 'sha256'
    @digest_instance = Digest::SHA256.new
  else
    raise NotImplementedError
  end
  super()
end

Class Method Details

.length(algorithm) ⇒ Object



24
25
26
# File 'lib/cryptoconditions_ruby/utils/hasher.rb', line 24

def self.length(algorithm)
  new(algorithm).digest.length
end

Instance Method Details

#digestObject



20
21
22
# File 'lib/cryptoconditions_ruby/utils/hasher.rb', line 20

def digest
  digest_instance.digest
end

#write(in_bytes) ⇒ Object



16
17
18
# File 'lib/cryptoconditions_ruby/utils/hasher.rb', line 16

def write(in_bytes)
  digest_instance.update(in_bytes)
end