Module Net::SSH::Transport::HMAC

  1. lib/net/ssh/transport/hmac/abstract.rb
  2. lib/net/ssh/transport/hmac/md5.rb
  3. lib/net/ssh/transport/hmac/md5_96.rb
  4. lib/net/ssh/transport/hmac/none.rb
  5. lib/net/ssh/transport/hmac/sha1.rb
  6. lib/net/ssh/transport/hmac/sha1_96.rb
  7. lib/net/ssh/transport/hmac.rb
  8. show all

Implements a simple factory interface for fetching hmac implementations, or for finding the key lengths for hmac implementations.s

Methods

public class

  1. get
  2. key_length

Constants

MAP = { 'hmac-md5' => MD5, 'hmac-md5-96' => MD5_96, 'hmac-sha1' => SHA1, 'hmac-sha1-96' => SHA1_96, 'none' => None }   The mapping of SSH hmac algorithms to their implementations

Public class methods

get (name, key="")

Retrieves a new hmac instance of the given SSH type (name). If key is given, the new instance will be initialized with that key.

[show source]
    # File lib/net/ssh/transport/hmac.rb, line 21
21:   def self.get(name, key="")
22:     impl = MAP[name] or raise ArgumentError, "hmac not found: #{name.inspect}"
23:     impl.new(key)
24:   end
key_length (name)

Retrieves the key length for the hmac of the given SSH type (name).

[show source]
    # File lib/net/ssh/transport/hmac.rb, line 27
27:   def self.key_length(name)
28:     impl = MAP[name] or raise ArgumentError, "hmac not found: #{name.inspect}"
29:     impl.key_length
30:   end