#hash #context #hasher #traits #shared #rusty-shield


rs_hasher_ctx is an internal crate of the RustyShield library. It provides the HasherContext trait used across various cryptographic hash function implementations within RustyShield. The trait overloads the Hasher::finish() function, unifying the approach to obtaining hash results. While primarily intended for use within RustyShield, rs_hasher_ctx can aid in minimizing dependency entries in external crates leveraging RustyShield’s hashing capabilities.

4 releases

0.1.3 Jun 12, 2023
0.1.2 Jun 4, 2023
0.1.1 Jun 4, 2023
0.1.0 May 30, 2023

#719 in Cryptography

Download history 50/week @ 2024-01-12 38/week @ 2024-01-19 28/week @ 2024-01-26 19/week @ 2024-02-02 51/week @ 2024-02-09 44/week @ 2024-02-16 57/week @ 2024-02-23 469/week @ 2024-03-01 441/week @ 2024-03-08 138/week @ 2024-03-15 118/week @ 2024-03-22 125/week @ 2024-03-29 160/week @ 2024-04-05 258/week @ 2024-04-12 312/week @ 2024-04-19 287/week @ 2024-04-26

1,042 downloads per month
Used in 20 crates (18 directly)


2.5K SLoC


The rs_hasher_ctx crate provides the HasherContext trait, including a redefinition of Hasher::finish(). This crate is considered as an internal trait of rs_shield, and it is primarily intended to streamline the dependencies in the broader RustyShield project.

While rs_hasher_ctx can be used independently, its primary purpose is to offer a consistent and shared context for all cryptographic hash function crates in the RustyShield library. Each hash function that makes use of rs_hasher_ctx is able to export the HasherContext trait, which in turn minimizes the number of dependency declarations required in any given crate.

How To Use

Here are the steps to use the rs_hasher_ctx crate in your Rust projects:

  1. Add the following line to your Cargo.toml under the [dependencies] section:

    rs_hasher_ctx = "0.1.*"
  2. Use the HasherContext trait in your code as follows:

    use rs_hasher_ctx::HasherContext;

More Information

For a more detailed exploration of rs_hasher_ctx, an overview of other available cryptographic functions, and an introduction to the broader rs_shield project, please consult the RustyShield project page on crates.io.


Potential contributors are encouraged to consult the contribution guidelines on our GitHub page.


This project is licensed under GPL-2.0-only.