module HrrRbSsh::Transport::MacAlgorithm::Functionable
Public Class Methods
new(key, logger: nil)
click to toggle source
# File lib/hrr_rb_ssh/transport/mac_algorithm/functionable.rb, line 12 def initialize key, logger: nil self.logger = logger @key = key end
Public Instance Methods
compute(sequence_number, unencrypted_packet)
click to toggle source
# File lib/hrr_rb_ssh/transport/mac_algorithm/functionable.rb, line 25 def compute sequence_number, unencrypted_packet data = DataType::Uint32.encode(sequence_number) + unencrypted_packet digest = OpenSSL::HMAC.digest self.class::DIGEST, @key, data digest[0, digest_length] end
digest_length()
click to toggle source
# File lib/hrr_rb_ssh/transport/mac_algorithm/functionable.rb, line 17 def digest_length self.class::DIGEST_LENGTH end
key_length()
click to toggle source
# File lib/hrr_rb_ssh/transport/mac_algorithm/functionable.rb, line 21 def key_length self.class::KEY_LENGTH end