chore: add examples

This commit is contained in:
MedzikUser 2022-06-18 11:24:03 +02:00
parent f50d60cf42
commit 2275b21aa1
No known key found for this signature in database
GPG Key ID: A5FAC1E185C112DB
5 changed files with 66 additions and 17 deletions

3
.gitignore vendored
View File

@ -1 +1,2 @@
/target
# Cargo
target/

39
Cargo.lock generated
View File

@ -2,6 +2,12 @@
# It is not intended for manual editing.
version = 3
[[package]]
name = "anyhow"
version = "1.0.57"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08f9b8508dccb7687a1d6c4ce66b2b0ecef467c94667de27d8d7fe1f8d2a9cdc"
[[package]]
name = "autocfg"
version = "1.1.0"
@ -77,6 +83,7 @@ dependencies = [
name = "crypto-utils"
version = "0.2.0"
dependencies = [
"anyhow",
"chrono",
"hex",
"jsonwebtoken",
@ -119,9 +126,9 @@ checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d"
[[package]]
name = "js-sys"
version = "0.3.57"
version = "0.3.58"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "671a26f820db17c2a2750743f1dd03bafd15b98c9f30c7c2628c024c05d73397"
checksum = "c3fac17f7123a73ca62df411b1bf727ccc805daa070338fda671c86dac1bdc27"
dependencies = [
"wasm-bindgen",
]
@ -393,9 +400,9 @@ checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
[[package]]
name = "unicode-ident"
version = "1.0.0"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d22af068fba1eb5edcb4aea19d382b2a3deb4c8f9d475c589b6ada9e0fd493ee"
checksum = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c"
[[package]]
name = "untrusted"
@ -417,9 +424,9 @@ checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
[[package]]
name = "wasm-bindgen"
version = "0.2.80"
version = "0.2.81"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "27370197c907c55e3f1a9fbe26f44e937fe6451368324e009cba39e139dc08ad"
checksum = "7c53b543413a17a202f4be280a7e5c62a1c69345f5de525ee64f8cfdbc954994"
dependencies = [
"cfg-if",
"wasm-bindgen-macro",
@ -427,9 +434,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-backend"
version = "0.2.80"
version = "0.2.81"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53e04185bfa3a779273da532f5025e33398409573f348985af9a1cbf3774d3f4"
checksum = "5491a68ab4500fa6b4d726bd67408630c3dbe9c4fe7bda16d5c82a1fd8c7340a"
dependencies = [
"bumpalo",
"lazy_static",
@ -442,9 +449,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
version = "0.2.80"
version = "0.2.81"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "17cae7ff784d7e83a2fe7611cfe766ecf034111b49deb850a3dc7699c08251f5"
checksum = "c441e177922bc58f1e12c022624b6216378e5febc2f0533e41ba443d505b80aa"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@ -452,9 +459,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
version = "0.2.80"
version = "0.2.81"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "99ec0dc7a4756fffc231aab1b9f2f578d23cd391390ab27f952ae0c9b3ece20b"
checksum = "7d94ac45fcf608c1f45ef53e748d35660f168490c10b23704c7779ab8f5c3048"
dependencies = [
"proc-macro2",
"quote",
@ -465,15 +472,15 @@ dependencies = [
[[package]]
name = "wasm-bindgen-shared"
version = "0.2.80"
version = "0.2.81"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d554b7f530dee5964d9a9468d95c1f8b8acae4f282807e7d27d4b03099a46744"
checksum = "6a89911bd99e5f3659ec4acf9c4d93b0a90fe4a2a11f15328472058edc5261be"
[[package]]
name = "web-sys"
version = "0.3.57"
version = "0.3.58"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b17e741662c70c8bd24ac5c5b18de314a2c26c32bf8346ee1e6f53de919c283"
checksum = "2fed94beee57daf8dd7d51f2b15dc2bcde92d7a72304cdf662a4371008b71b90"
dependencies = [
"js-sys",
"wasm-bindgen",

View File

@ -24,4 +24,5 @@ serde = { version = "1.0.137", optional = true }
jsonwebtoken = { version = "8.1.1", optional = true }
[dev-dependencies]
anyhow = "1.0.57"
hex = { version = "0.4.3" }

21
examples/jwt.rs Normal file
View File

@ -0,0 +1,21 @@
use crypto_utils::jsonwebtoken::{Claims, Token};
fn main() -> anyhow::Result<()> {
let secret = b"secret";
let user_id = "1234";
// create claims
let claims = Claims::new(user_id, 24);
// create token
let token = Token::new(secret, claims)?;
println!("token = `{}`", token.encoded);
// decode token
let decoded = Token::decode(secret, token.encoded)?;
println!("user_id = `{}`", decoded.claims.sub);
Ok(())
}

19
examples/sha.rs Normal file
View File

@ -0,0 +1,19 @@
use crypto_utils::sha::{CryptographicHash, Algorithm};
fn main() {
let input = "This is a input text to be hashed";
println!("input = `{input}`");
let sha1 = CryptographicHash::hash(Algorithm::SHA1, input.as_bytes());
println!("sha1 = `{}`", hex::encode(sha1));
let sha256 = CryptographicHash::hash(Algorithm::SHA256, input.as_bytes());
println!("sha256 = `{}`", hex::encode(sha256));
let sha512 = CryptographicHash::hash(Algorithm::SHA512, input.as_bytes());
println!("sha512 = `{}`", hex::encode(sha512));
}