Cryptography Utils for Rust
Go to file
MedzikUser e89ad0b3ea
chore(release): v0.2.0
2022-06-11 21:26:09 +02:00
.github/workflows ci: add rust github action 2022-06-11 13:08:27 +02:00
src chore(release): v0.2.0 2022-06-11 21:26:09 +02:00
.gitignore initial commit 2022-06-11 12:42:32 +02:00
CHANGELOG.md update 2022-06-11 21:24:28 +02:00
Cargo.lock chore(release): v0.2.0 2022-06-11 21:26:09 +02:00
Cargo.toml chore(release): v0.2.0 2022-06-11 21:26:09 +02:00
LICENSE initial commit 2022-06-11 12:42:32 +02:00
README.md chore(release): v0.2.0 2022-06-11 21:26:09 +02:00

README.md

crypto-utils

github crates-io docs-rs CI

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.2.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 secret = b"secret";
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