;;; hmac-sha1.el --- Compute HMAC-SHA1.
-;; Copyright (C) 1999 Shuhei KOBAYASHI
+;; Copyright (C) 1999, 2001 Free Software Foundation, Inc.
;; Author: Shuhei KOBAYASHI <shuhei@aqua.ocn.ne.jp>
;; Keywords: HMAC, RFC 2104, HMAC-SHA1, SHA1, Cancel-Lock
;; You should have received a copy of the GNU General Public License
;; along with this program; see the file COPYING. If not, write to
-;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
;; (encode-hex-string
;; (hmac-sha1 "Test With Truncation" (make-string 20 ?\x0c)))
;; => "4c1a03424b55e07fe7f27be1d58bb9324a9a5a04"
+;;
;; (encode-hex-string
;; (hmac-sha1-96 "Test With Truncation" (make-string 20 ?\x0c)))
;; => "4c1a03424b55e07fe7f27be1"
(require 'hex-util) ; (decode-hex-string STRING)
(require 'sha1) ; expects (sha1 STRING)
-;;; For consintency with hmac-md5.el, we define this function here.
-(or (fboundp 'sha1-binary)
- (defun sha1-binary (string)
- "Return the SHA1 of STRING in binary form."
- (decode-hex-string (sha1 string))))
+;; To share *.elc files between Emacs w/ and w/o DL patch,
+;; this check must be done at load-time.
+(cond
+ ((fboundp 'sha1-binary)
+ ;; do nothing.
+ )
+ (t
+ (defun sha1-binary (string)
+ "Return the SHA1 of STRING in binary form."
+ (decode-hex-string (sha1 string)))))
(define-hmac-function hmac-sha1 sha1-binary 64 20) ; => (hmac-sha1 TEXT KEY)
-;; (define-hmac-function hmac-sha1-96 sha1-binary 64 20 96)
+(define-hmac-function hmac-sha1-96 sha1-binary 64 20 96)
(provide 'hmac-sha1)