anchor.diff:  		(crypt-password password (random-salt))))
   
   (defun account-boot ()
  +  (clrhash *account-idnum-cache*)
  +  (clrhash *account-name-cache*)
     (slog "Getting max account idnum")
     (setf *account-max-idnum* (max-account-id))
   
  
positive.code:   ((idnum :accessor idnum-of :initarg :idnum)
     (account :accessor account-of :initarg :account)
     (name :accessor name-of :initarg :name)
     (birth-time :accessor birth-time-of :initarg :birthtime)
     (login-time :accessor login-time-of :initarg :logintime)))
  
  (defclass account ()
    ((idnum :accessor idnum-of :initarg :idnum)
     (name :accessor name-of :initarg :name)
     (password :accessor password-of :initarg :password)
     (email :accessor email-of :initarg :email)
     (creation-time :accessor creation-time-of :initarg :creation-time)
     (creation-addr :accessor creation-addr-of :initarg :creation-addr)
  
negative.code: 
  (defun crypt-password (password salt)
    "Encrypt a password with a hash"
    (uffi:with-cstring (password-cstring (coerce password 'simple-string))
      (uffi:with-cstring (salt-cstring (coerce salt 'simple-string))
        (uffi:convert-from-cstring 
         (crypt password-cstring salt-cstring)))))
  
  