minor improvements on async, crypt (allow '=' trimming of digest)

This commit is contained in:
Helmut Merz 2025-03-27 15:03:08 +01:00
parent a4c87d4845
commit 1a5ff88f03
2 changed files with 8 additions and 5 deletions

View file

@ -13,9 +13,8 @@
;;;; general definitions
(eval-when (:compile-toplevel :load-toplevel :execute)
(progn
(when (not (boundp '+quit-message+))
(defconstant +quit-message+ (gensym "QUIT")))))
(when (not (boundp '+quit-message+))
(defconstant +quit-message+ (gensym "QUIT"))))
(defun init ()
(when (null lp:*kernel*)

View file

@ -11,8 +11,12 @@
(defun create-secret (&key (bytes 16) (scheme :uri))
(util:b64-encode (ironclad:random-data bytes) :scheme scheme))
(defun digest (tx &key (scheme :original) (alg :sha256))
(b64:encode-bytes (ironclad:digest-sequence alg (util:to-bytes tx)) :scheme scheme))
(defun digest (tx &key (scheme :original) (alg :sha256) trim)
(let ((dig (b64:encode-bytes
(ironclad:digest-sequence alg (util:to-bytes tx)) :scheme scheme)))
(if trim
(str:trim-right dig :char-bag "=")
dig)))
(defun sign (tx key)
(let* ((binp (util:to-bytes tx))