Cryptography Utils for Rust
Go to file
MedzikUser 40e7c3ddab
update
2022-06-11 21:24:28 +02:00
.github/workflows ci: add rust github action 2022-06-11 13:08:27 +02:00
src update 2022-06-11 21:24:28 +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 add json web token 2022-06-11 16:59:20 +02:00
Cargo.toml add json web token 2022-06-11 16:59:20 +02:00
LICENSE initial commit 2022-06-11 12:42:32 +02:00
README.md doc: update readme 2022-06-11 17:01:11 +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.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