A factory class for returning new HMAC algorithm instances.

Methods
Public Class methods
new( algorithms )

Create a new instance of the HMACFactory that uses the given Hash-like to map SSH2 HMAC algorithm names to instances of factories that can instantiate those algorithms.

    # File lib/net/ssh/transport/ossl/hmac-factory.rb, line 32
32:           def initialize( algorithms )
33:             @algorithms = algorithms
34:           end
Public Instance methods
find_algorithm( name )

Searches all registered algorithm sets for the one with the given name. Returns nil if no such algorithm exists.

    # File lib/net/ssh/transport/ossl/hmac-factory.rb, line 57
57:           def find_algorithm( name )
58:             @algorithms.each do |set|
59:               return set[name] if set.has_key?( name )
60:             end
61: 
62:             nil
63:           end
get( name, key="" )

Return a new instance of the HMAC algorithm for the given name. If no such algorithm exists, a HMACAlgorithmNotFound error will be raised.

    # File lib/net/ssh/transport/ossl/hmac-factory.rb, line 39
39:           def get( name, key="" )
40:             algo = find_algorithm( name ) or
41:               raise HMACAlgorithmNotFound, name
42:               
43:             return algo.new( key )
44:           end
get_key_length( name )

Return the key length of the named HMAC algorithm. If no such algorithm exists, raise HMACAlgorithmNotFound.

    # File lib/net/ssh/transport/ossl/hmac-factory.rb, line 48
48:           def get_key_length( name )
49:             algo = find_algorithm( name ) or
50:               raise HMACAlgorithmNotFound, name
51: 
52:             return algo.key_length
53:           end

[Validate]