/// Any password hasher should implement this trait.
///
/// Note that password hashers are the only ones that
/// are able to read a clear text password, so try not
/// to leak any kind of information about it.
///
/// If your hasher can be configured to have different
/// time or memory costs, then make sure to store those
/// parameters next to your users' password hashes and
/// salts in your data base, so that you are able to
/// upgrade your parameters at any time.