anchor.diff:  All contributions to _buddy_ should keep these important rules in mind.
   
   
  -Procedure
  -~~~~~~~~~
  +=== Procedure
   
   Unlike Clojure and other Clojure contrib libs, _buddy_ does not have many
   restrictions for contributions. Just follow the following steps depending on the
  
positive.code: 
  Authentication in buddy, has two phases:
  
  - Parse: parsing incoming request headers, parameters etc...
  - Authenticate: having parsed data do authentication process, such as call auth function,
    unsign self contained token, etc...
  
  .Here is a list of built-in authentication backends:
  [options="header"]
  |=====================================================================================
  | Backend name | Namespace                       | Observations
  | Http Basic   | `buddy.auth.backends.httpbasic` |
  | Session      | `buddy.auth.backends.session`   | Can be combined with password hashers.
  | Token        | `buddy.auth.backends.token`     | Can be combined with password hashers and high level signing library for generate tokens.
  | SignedToken  | `buddy.auth.backends.token`     | Based on the high level signing framework.
  |=====================================================================================
  
  
  HTTP Basic
  ^^^^^^^^^^
  
  The HTTP Basic authentication backend is one of the simplest and most insecure authentication
  systems, but is a good first step for understand how buddy authentication works.
  
negative.code: ----
  
  
  ==== Stream Ciphers
  
  Stream ciphers differ from block ciphers, in that they works with arbitrary length input
  and do not require any additional mode of operation.
  
  .This is a list of currently supported of stream ciphers in buddy
  