Class: Digest::Base

Inherits:
Object show all
Defined in:
flow/digest/digest.rb

Direct Known Subclasses

MD5, SHA1, SHA224, SHA256, SHA384, SHA512

Class Method Summary (collapse)

Instance Method Summary (collapse)

Constructor Details

- (Base) initialize(algo)

Returns a new instance of Base

Examples:

digest = Digest::MD5.new


12
13
14
# File 'flow/digest/digest.rb', line 12

def initialize(algo)
  @digest = Java::Security::MessageDigest.getInstance(algo)
end

Class Method Details

+ (Object) digest(str)

Examples:

Digest::MD5.digest('hello')
#=> '5d41402abc4b2a76b9719d911017c592'


40
41
42
# File 'flow/digest/digest.rb', line 40

def self.digest(str)
  self.new.update(str).digest
end

Instance Method Details

- (Object) digest

Examples:

digest.digest
#=> '5d41402abc4b2a76b9719d911017c592'


33
34
35
# File 'flow/digest/digest.rb', line 33

def digest
  @digest.digest.map { |x| String.format('%02x', x) }.join
end

- (Object) reset

Examples:

digest.reset


25
26
27
28
# File 'flow/digest/digest.rb', line 25

def reset
  @digest.reset
  self
end

- (Object) update(str)

Examples:

digest.update('hello')


18
19
20
21
# File 'flow/digest/digest.rb', line 18

def update(str)
  @digest.update(str.chars.map { |x| x.ord })
  self
end