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/ripemd160.rb
  6. lib/net/ssh/transport/hmac/sha1.rb
  7. lib/net/ssh/transport/hmac/sha1_96.rb
  8. lib/net/ssh/transport/hmac/sha2_256.rb
  9. lib/net/ssh/transport/hmac/sha2_256_96.rb
  10. lib/net/ssh/transport/hmac/sha2_512.rb
  11. lib/net/ssh/transport/hmac/sha2_512_96.rb
  12. lib/net/ssh/transport/hmac.rb
  13. show all
Parent: Transport

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, 'hmac-ripemd160' => RIPEMD160, 'hmac-ripemd160@openssh.com' => RIPEMD160, 'none' => None }  

The mapping of SSH hmac algorithms to their implementations

Public Class methods

get (name, key="", parameters = {})

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 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)

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

[show source]
# 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