anchor.diff:  Message authentication code algorithms
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   
  -Buddy comes with two mac implementations: *HMac* and *Poly1305*.
  -
  -HMac
  -^^^^
  -
  -There are two variants of hmac: simple and salted. Both are available
  -in the `buddy.core.mac.hmac` namespace.
  +Buddy comes with three mac implementations: *HMac*, *SHMac* and *Poly1305*.
  +
  +HMac & SHMac
  +^^^^^^^^^^^^
  +
  +There are two variants of hmac: simple and salted. And are available
  +in the `buddy.core.mac.hmac` and `buddy.core.mac.shmac` respectively.
   
   Basic usage
   +++++++++++
  
positive.code: 
  ;; Generate hmac for file
  (-> (io/input-stream "/tmp/somefile")
      (hmac/hmac-sha256 "mysecretkey")
      (bytes->hex))
  ;; -> "4cb793e600848da2053238003fce4c010233c49df3e6a04119b4287eb464c27e"
  ----
  
  You can extend it for your own types using `buddy.core.hmac/HMac` protocol:
  
  [source,clojure]
  ----
  (defprotocol HMac
    (make-hmac [data key algorithm]))
  ----
  
  [NOTE]
  Functions like *hmac-sha256* just alias the more generic functions
  *hmac* and *shmac*.
  
  
  Poly1305
  
negative.code: | Tiger                | 192
  |===============================================
  
  
  Basic usage
  ^^^^^^^^^^^
  
  