Module Net::NTLM
In: lib/net/ntlm.rb
lib/net/ntlm/client/session.rb
lib/net/ntlm/client.rb
lib/net/ntlm/message/type1.rb
lib/net/ntlm/message/type3.rb
lib/net/ntlm/message/type0.rb
lib/net/ntlm/message/type2.rb
lib/net/ntlm/target_info.rb
lib/net/ntlm/exceptions.rb
lib/net/ntlm/channel_binding.rb
lib/net/ntlm/blob.rb
lib/net/ntlm/field.rb
lib/net/ntlm/security_buffer.rb
lib/net/ntlm/int16_le.rb
lib/net/ntlm/int64_le.rb
lib/net/ntlm/message.rb
lib/net/ntlm/version.rb
lib/net/ntlm/field_set.rb
lib/net/ntlm/string.rb
lib/net/ntlm/encode_util.rb
lib/net/ntlm/int32_le.rb

Methods

Classes and Modules

Module Net::NTLM::Client
Module Net::NTLM::VERSION
Class Net::NTLM::Blob
Class Net::NTLM::ChannelBinding
Class Net::NTLM::Client
Class Net::NTLM::EncodeUtil
Class Net::NTLM::Field
Class Net::NTLM::FieldSet
Class Net::NTLM::Int16LE
Class Net::NTLM::Int32LE
Class Net::NTLM::Int64LE
Class Net::NTLM::InvalidTargetDataError
Class Net::NTLM::Message
Class Net::NTLM::NtlmError
Class Net::NTLM::SecurityBuffer
Class Net::NTLM::String
Class Net::NTLM::TargetInfo

Constants

LM_MAGIC = "KGS!@\#$%"
TIME_OFFSET = 11644473600
MAX64 = 0xffffffffffffffff
LAN_MANAGER_HEX_DIGEST_REGEXP = /[0-9a-f]{32}/i   Valid format for LAN Manager hex digest portion: 32 hexadecimal characters.
NT_LAN_MANAGER_HEX_DIGEST_REGEXP = /[0-9a-f]{32}/i   Valid format for NT LAN Manager hex digest portion: 32 hexadecimal characters.
DATA_REGEXP = /\A#{LAN_MANAGER_HEX_DIGEST_REGEXP}:#{NT_LAN_MANAGER_HEX_DIGEST_REGEXP}\z/   Valid format for an NTLM hash composed of `’<LAN Manager hex digest>:<NT LAN Manager hex digest>’`.
BLOB_SIGN = 0x00000101
SSP_SIGN = "NTLMSSP\0"
FLAGS = { :UNICODE => 0x00000001, :OEM => 0x00000002, :REQUEST_TARGET => 0x00000004, :MBZ9 => 0x00000008, :SIGN => 0x00000010, :SEAL => 0x00000020, :NEG_DATAGRAM => 0x00000040, :NETWARE => 0x00000100, :NTLM => 0x00000200, :NEG_NT_ONLY => 0x00000400, :MBZ7 => 0x00000800, :DOMAIN_SUPPLIED => 0x00001000, :WORKSTATION_SUPPLIED => 0x00002000, :LOCAL_CALL => 0x00004000, :ALWAYS_SIGN => 0x00008000, :TARGET_TYPE_DOMAIN => 0x00010000, :NTLM2_KEY => 0x00080000, :TARGET_INFO => 0x00800000, :KEY128 => 0x20000000, :KEY_EXCHANGE => 0x40000000, :KEY56 => 0x80000000
FLAG_KEYS = FLAGS.keys.sort{|a, b| FLAGS[a] <=> FLAGS[b] }
DEFAULT_FLAGS = { :TYPE1 => FLAGS[:UNICODE] | FLAGS[:OEM] | FLAGS[:REQUEST_TARGET] | FLAGS[:NTLM] | FLAGS[:ALWAYS_SIGN] | FLAGS[:NTLM2_KEY], :TYPE2 => FLAGS[:UNICODE], :TYPE3 => FLAGS[:UNICODE] | FLAGS[:REQUEST_TARGET] | FLAGS[:NTLM] | FLAGS[:ALWAYS_SIGN] | FLAGS[:NTLM2_KEY]

Public Class methods

Not sure what this is doing @param [String] str String to generate keys for @api private

Takes a string and determines whether it is a valid NTLM Hash @param [String] the string to validate @return [Boolean] whether or not the string is a valid NTLM hash

Generates a Lan Manager Hash @param [String] password The password to base the hash on

Generate a NTLM Hash @param [String] password The password to base the hash on @option opt :unicode (false) Unicode encode the password

Generate a NTLMv2 Hash @param [String] user The username @param [String] password The password @param [String] target The domain or workstation to authenticate to @option opt :unicode (false) Unicode encode the domain

Conver the value to a 64-Bit Little Endian Int @param [String] val The string to convert

Builds an array of strings that are 7 characters long @param [String] str The string to split @api private

[Validate]