class Dighasher::DigestGenerator

Digest Instance Generator

Constants

MD5

MD5 Hash Constant

SHA1

SHA1 Hash Constant

SHA2

SHA2 Hash Constant

SHA256

SHA256 Hash Constant

SHA512

SHA512 Hash Constant

Public Class Methods

available() click to toggle source

get available hash.

# File lib/dighasher/digest_generator.rb, line 23
def self.available
  "Digest::MD5, Digest::SHA1, Digest::SHA2(256, 384, 512)"
end
generate_digest(mode, str=nil, bitlen=256) click to toggle source

generate digest instance. @param [integer] mode Hash mode. use DigestGenerator constant. @param [String] str target string @param [integer] bitlen SHA2 bitlength. 256 or 384 or 512. @return [Digest] digest lib instance

# File lib/dighasher/digest_generator.rb, line 32
def self.generate_digest(mode, str=nil, bitlen=256)

  digest = nil

  # generate digest instance
  case mode
  when MD5 then
    digest = Digest::MD5.new
  when SHA1 then
    digest = Digest::SHA1.new
  when SHA256, SHA512, SHA2 then
    digest = Digest::SHA2.new(bitlen)
  else
    # raise error.
    raise TypeError.new("invalid mode : #{mode}")
  end

  # set str
  if (digest && str)
    digest.update(str)
  end
  digest
end