mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-02-01 20:06:00 +00:00
(rfc2104-hexstring-to-bitstring): Rename it back from
rfc2104-hexstring-to-byte-list. Return a unibyte string. (rfc2104-hash): Use it.
This commit is contained in:
parent
9c059794a2
commit
4fedcc004b
@ -1,3 +1,9 @@
|
||||
2008-05-08 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* rfc2104.el (rfc2104-hexstring-to-bitstring): Rename it back from
|
||||
rfc2104-hexstring-to-byte-list. Return a unibyte string.
|
||||
(rfc2104-hash): Use it.
|
||||
|
||||
2008-05-08 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
||||
* gnus-art.el (gnus-article-toggle-truncate-lines):
|
||||
@ -11,8 +17,8 @@
|
||||
(gnus-extract-address-component-email): Convenience functions around
|
||||
`gnus-extract-address-components'.
|
||||
|
||||
* gnus-registry.el (gnus-registry-split-fancy-with-parent): Use
|
||||
`gnus-extract-address-component-email' to fix bug of comparing full
|
||||
* gnus-registry.el (gnus-registry-split-fancy-with-parent):
|
||||
Use `gnus-extract-address-component-email' to fix bug of comparing full
|
||||
sender name to `user-mail-address'.
|
||||
|
||||
2008-05-05 Teodor Zlatanov <tzz@lifelogs.com>
|
||||
@ -696,7 +702,7 @@
|
||||
|
||||
2008-02-01 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
* rfc2104.el (rfc2104-hexstring-to-byte-list): Renamed from
|
||||
* rfc2104.el (rfc2104-hexstring-to-byte-list): Rename from
|
||||
rfc2104-hexstring-to-bitstring and changed to return a byte list.
|
||||
(rfc2104-hash): Convert the result of concat to unibyte string.
|
||||
|
||||
@ -707,7 +713,7 @@
|
||||
(gnus-gnus-to-quick-newsrc-format): Insert coding cookie.
|
||||
|
||||
* mm-util.el (mm-hack-charsets, mm-iso-8859-15-compatible)
|
||||
(mm-iso-8859-x-to-15-table, mm-iso-8859-x-to-15-region): Deleted.
|
||||
(mm-iso-8859-x-to-15-table, mm-iso-8859-x-to-15-region): Delete.
|
||||
(mm-find-mime-charset-region): Remove hack-charsets stuff.
|
||||
|
||||
2008-01-24 Michael Sperber <sperber@deinprogramm.de>
|
||||
|
@ -23,35 +23,35 @@
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;;; This is a quick'n'dirty, low performance, implementation of RFC2104.
|
||||
;;;
|
||||
;;; Example:
|
||||
;;;
|
||||
;;; (require 'md5)
|
||||
;;; (rfc2104-hash 'md5 64 16 "Jefe" "what do ya want for nothing?")
|
||||
;;; "750c783e6ab0b503eaa86e310a5db738"
|
||||
;;;
|
||||
;;; (require 'sha-1)
|
||||
;;; (rfc2104-hash 'sha1-encode 64 20 "Jefe" "what do ya want for nothing?")
|
||||
;;; "effcdf6ae5eb2fa2d27416d5f184df9c259a7c79"
|
||||
;;;
|
||||
;;; 64 is block length of hash function (64 for MD5 and SHA), 16 is
|
||||
;;; resulting hash length (16 for MD5, 20 for SHA).
|
||||
;;;
|
||||
;;; Tested with Emacs 20.2 and XEmacs 20.3.
|
||||
;;;
|
||||
;;; Test case reference: RFC 2202.
|
||||
;; This is a quick'n'dirty, low performance, implementation of RFC2104.
|
||||
;;
|
||||
;; Example:
|
||||
;;
|
||||
;; (require 'md5)
|
||||
;; (rfc2104-hash 'md5 64 16 "Jefe" "what do ya want for nothing?")
|
||||
;; "750c783e6ab0b503eaa86e310a5db738"
|
||||
;;
|
||||
;; (require 'sha-1)
|
||||
;; (rfc2104-hash 'sha1-encode 64 20 "Jefe" "what do ya want for nothing?")
|
||||
;; "effcdf6ae5eb2fa2d27416d5f184df9c259a7c79"
|
||||
;;
|
||||
;; 64 is block length of hash function (64 for MD5 and SHA), 16 is
|
||||
;; resulting hash length (16 for MD5, 20 for SHA).
|
||||
;;
|
||||
;; Tested with Emacs 20.2 and XEmacs 20.3.
|
||||
;;
|
||||
;; Test case reference: RFC 2202.
|
||||
|
||||
;;; Release history:
|
||||
;;;
|
||||
;;; 1998-08-16 initial release posted to gnu.emacs.sources
|
||||
;;; 1998-08-17 use append instead of char-list-to-string
|
||||
;;; 1998-08-26 don't require hexl
|
||||
;;; 1998-09-25 renamed from hmac.el to rfc2104.el, also renamed functions
|
||||
;;; 1999-10-23 included in pgnus
|
||||
;;; 2000-08-15 `rfc2104-hexstring-to-bitstring'
|
||||
;;; 2000-05-12 added sha-1 example, added test case reference
|
||||
;;; 2003-11-13 change rfc2104-hexstring-to-bitstring to ...-byte-list
|
||||
;;; History:
|
||||
|
||||
;; 1998-08-16 initial release posted to gnu.emacs.sources
|
||||
;; 1998-08-17 use append instead of char-list-to-string
|
||||
;; 1998-08-26 don't require hexl
|
||||
;; 1998-09-25 renamed from hmac.el to rfc2104.el, also renamed functions
|
||||
;; 1999-10-23 included in pgnus
|
||||
;; 2000-08-15 `rfc2104-hexstring-to-bitstring'
|
||||
;; 2000-05-12 added sha-1 example, added test case reference
|
||||
;; 2003-11-13 change rfc2104-hexstring-to-bitstring to ...-byte-list
|
||||
|
||||
;;; Code:
|
||||
|
||||
@ -87,12 +87,12 @@
|
||||
(rfc2104-hex-to-int (reverse (append str nil))))
|
||||
0))
|
||||
|
||||
(defun rfc2104-hexstring-to-byte-list (str)
|
||||
(defun rfc2104-hexstring-to-bitstring (str)
|
||||
(let (out)
|
||||
(while (< 0 (length str))
|
||||
(push (rfc2104-hex-to-int (substring str -2)) out)
|
||||
(setq str (substring str 0 -2)))
|
||||
out))
|
||||
(apply (if (fboundp 'unibyte-string) 'unibyte-string 'string) out)))
|
||||
|
||||
(defun rfc2104-hash (hash block-length hash-length key text)
|
||||
(let* (;; if key is longer than B, reset it to HASH(key)
|
||||
@ -109,12 +109,9 @@
|
||||
(setq k_ipad (mapcar (lambda (c) (logxor c rfc2104-ipad)) k_ipad))
|
||||
(setq k_opad (mapcar (lambda (c) (logxor c rfc2104-opad)) k_opad))
|
||||
;; perform outer hash
|
||||
(funcall hash
|
||||
(encode-coding-string
|
||||
(concat k_opad (rfc2104-hexstring-to-byte-list
|
||||
(funcall hash (concat k_opad (rfc2104-hexstring-to-bitstring
|
||||
;; perform inner hash
|
||||
(funcall hash (concat k_ipad text))))
|
||||
'iso-latin-1))))
|
||||
(funcall hash (concat k_ipad text)))))))
|
||||
|
||||
(provide 'rfc2104)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user