Authenticator for the “CRAM-MD5” authentication type. See authenticate().
Class Methods
lib/net/imap.rb
View on GitHub
# File tmp/rubies/ruby-2.6.10/lib/net/imap.rb, line 3553
def initialize(user, password)
@user = user
@password = password
end
No documentation available
Instance Methods
lib/net/imap.rb
View on GitHub
# File tmp/rubies/ruby-2.6.10/lib/net/imap.rb, line 3558
def hmac_md5(text, key)
if key.length > 64
key = Digest::MD5.digest(key)
end
k_ipad = key + "\0" * (64 - key.length)
k_opad = key + "\0" * (64 - key.length)
for i in 0..63
k_ipad[i] = (k_ipad[i].ord ^ 0x36).chr
k_opad[i] = (k_opad[i].ord ^ 0x5c).chr
end
digest = Digest::MD5.digest(k_ipad + text)
return Digest::MD5.hexdigest(k_opad + digest)
end
No documentation available
lib/net/imap.rb
View on GitHub
# File tmp/rubies/ruby-2.6.10/lib/net/imap.rb, line 3546
def process(challenge)
digest = hmac_md5(challenge, @password)
return @user + " " + digest
end
No documentation available