module Net::SSH::Transport::HMAC

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

Constants

MAP

The mapping of SSH hmac algorithms to their implementations

Public Class Methods

get(name, key="", parameters = {}) click to toggle source

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

# File lib/net/ssh/transport/hmac.rb, line 35
def self.get(name, key="", parameters = {})
  impl = MAP[name] or raise ArgumentError, "hmac not found: #{name.inspect}"
  impl.new(Net::SSH::Transport::KeyExpander.expand_key(impl.key_length, key, parameters))
end
key_length(name) click to toggle source

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

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