rfc2104.el was rewritten for speed in 2008, and seems to be about twice as fast as hmac-*.el. I think hmac-*.el could be deprecated and eventually removed; the only use in the Emacs tree is in sasl-cram.el. So here is a new and improved patch for implementing SCRAM-SHA-1, that uses the existing rfc2104.el instead of adding hmac-sha1.el. Would it be okay for a module in lisp/net to depend on a module in lisp/gnus? Regards, Magnus