mirror of
https://github.com/MedzikUser/rust-crypto-utils
synced 2024-08-14 23:54:22 +00:00
Cryptography Utils for Rust
.github/workflows | ||
src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE | ||
README.md |
crypto-utils
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.1.0"
How to use?
Compute a Sha hash
Add sha
features (is enabled by default)
[dependencies]
crypto-utils = { version = "...", features = ["sha"] }
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
Add jwt
features (is enabled by default)
[dependencies]
crypto-utils = { version = "...", features = ["jwt"] }
Create and decode a token
use crypto_utils::jsonwebtoken::{Claims, Token};
let user_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// create claims
let claims = Claims::new(user_id, 24);
// create token
let token = Token::new(secret, claims).unwrap();
// decode token
let decoded = Token::decode(secret, token.encoded).unwrap();
License: MIT