Authenticator for the “CRAM-MD5” authentication type. See authenticate().
Methods
Class Public methods
new(user, password)
Link
Instance Public methods
process(challenge)
Link
Instance Private methods
hmac_md5(text, key)
Link
# File ../ruby/lib/net/imap.rb, line 3339 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