5 releases (3 breaking)
0.4.1 | Sep 16, 2022 |
---|---|
0.4.0 | Jun 29, 2022 |
0.3.0 | Jun 23, 2022 |
0.2.0 | Jun 11, 2022 |
0.1.0 | Jun 11, 2022 |
#747 in Cryptography
25KB
228 lines
Cryptography Utils for Rust
Cryptography Utils for Rust
Importing
The driver is available on crates.io. To use the driver in
your application, simply add it to your project's Cargo.toml
.
[dependencies]
crypto-utils = "0.4.1"
How to use?
Compute a Sha hash
Quick and easy Sha1, Sha256 and Sha512 hash computing.
use crypto_utils::sha::{Algorithm, CryptographicHash};
// input data for a hasher
let input = "P@ssw0rd"; // &str
// compute hash
let hash_bytes = CryptographicHash::hash(Algorithm::SHA1, input.as_bytes()); // Vec<u8>
// decode hash to a String
let hash = hex::encode(hash_bytes); // String
assert_eq!(hash, "21bd12dc183f740ee76f27b78eb39c8ad972a757".to_string())
Json Web Token
Create and decode a token
use crypto_utils::jsonwebtoken::{Claims, Token};
let secret = b"secret";
let user_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
let claims = Claims::new(user_id, 24);
let token = Token::new(secret, claims).unwrap();
let decoded = Token::decode(secret, token.encoded).unwrap();
All Feature flags
Feature | Description | Dependencies | Default |
---|---|---|---|
sha |
Enable support for the Sha1, Sha256 and Sha512 hasher | sha and sha2 |
yes |
jwt |
Enable support for the Json Web Token utils | chrono , serde and jsonwebtoken |
yes |
License: MIT
Dependencies
~0.3–3.5MB
~81K SLoC