-(defun canlock-sha1-with-openssl (message)
- "Make a SHA-1 digest of MESSAGE using OpenSSL."
- (let (default-enable-multibyte-characters)
- (with-temp-buffer
- (let ((coding-system-for-read 'binary)
- (coding-system-for-write 'binary)
- selective-display
- (case-fold-search t))
- (insert message)
- (apply 'call-process-region (point-min) (point-max)
- canlock-openssl-program t t nil canlock-openssl-args)
- (goto-char (point-min))
- (insert "\"")
- (while (re-search-forward "[0-9a-f][0-9a-f]" nil t)
- (replace-match (concat "\\\\x" (match-string 0))))
- (insert "\"")
- (goto-char (point-min))
- (canlock-string-as-unibyte (read (current-buffer)))))))
-
-(defvar canlock-read-passwd nil)
-(defun canlock-read-passwd (prompt &rest args)
- "Read a password using PROMPT.
-If ARGS, PROMPT is used as an argument to `format'."
- (let ((prompt
- (if args
- (apply 'format prompt args)
- prompt)))
- (unless canlock-read-passwd
- (if (or (fboundp 'read-passwd) (load "passwd" t))
- (setq canlock-read-passwd 'read-passwd)
- (unless (fboundp 'ange-ftp-read-passwd)
- (autoload 'ange-ftp-read-passwd "ange-ftp"))
- (setq canlock-read-passwd 'ange-ftp-read-passwd)))
- (funcall canlock-read-passwd prompt)))
+(defun canlock-sha1 (message)
+ "Make a SHA-1 digest of MESSAGE as a unibyte string of length 20 bytes."
+ (let (sha1-maximum-internal-length)
+ (sha1 message nil nil 'binary)))