Function: ntlm-smb-str-to-key
ntlm-smb-str-to-key is a byte-compiled function defined in ntlm.el.gz.
Signature
(ntlm-smb-str-to-key STR)
Documentation
Return a string of length 8 for the given string STR of length 7.
Source Code
;; Defined in /usr/src/emacs/lisp/net/ntlm.el.gz
(defun ntlm-smb-str-to-key (str)
"Return a string of length 8 for the given string STR of length 7."
(let ((key (make-string 8 0))
(i 7))
(aset key 0 (ash (aref str 0) -1))
(aset key 1 (logior
(ash (logand (aref str 0) 1) 6)
(ash (aref str 1) -2)))
(aset key 2 (logior
(ash (logand (aref str 1) 3) 5)
(ash (aref str 2) -3)))
(aset key 3 (logior
(ash (logand (aref str 2) 7) 4)
(ash (aref str 3) -4)))
(aset key 4 (logior
(ash (logand (aref str 3) 15) 3)
(ash (aref str 4) -5)))
(aset key 5 (logior
(ash (logand (aref str 4) 31) 2)
(ash (aref str 5) -6)))
(aset key 6 (logior
(ash (logand (aref str 5) 63) 1)
(ash (aref str 6) -7)))
(aset key 7 (logand (aref str 6) 127))
(while (>= i 0)
(aset key i (ash (aref key i) 1))
(setq i (1- i)))
key))