From a88467fa28bd0a2606c6567c6d5d30a3f02f0552 Mon Sep 17 00:00:00 2001 From: SauceyRed Date: Thu, 1 May 2025 03:42:33 +0200 Subject: [PATCH] feat: create crypto.rs module for generation of tokens --- Cargo.toml | 2 ++ src/crypto.rs | 14 ++++++++++++++ src/main.rs | 1 + 3 files changed, 17 insertions(+) create mode 100644 src/crypto.rs diff --git a/Cargo.toml b/Cargo.toml index 985f80b..466999e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,6 +13,8 @@ actix-web = "4.10" argon2 = { version = "0.5.3", features = ["std"] } clap = { version = "4.5.37", features = ["derive"] } futures = "0.3" +getrandom = "0.3.2" +hex = "0.4.3" regex = "1.11" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" diff --git a/src/crypto.rs b/src/crypto.rs new file mode 100644 index 0000000..598a89b --- /dev/null +++ b/src/crypto.rs @@ -0,0 +1,14 @@ +use getrandom::fill; +use hex::encode; + +fn generate_access_token() -> Result { + let mut buf = [0u8; 16]; + fill(&mut buf)?; + Ok(encode(&buf)) +} + +fn generate_refresh_token() -> Result { + let mut buf = [0u8; 32]; + fill(&mut buf)?; + Ok(encode(&buf)) +} diff --git a/src/main.rs b/src/main.rs index 3b036d3..deb4c85 100644 --- a/src/main.rs +++ b/src/main.rs @@ -6,6 +6,7 @@ use std::time::SystemTime; mod config; use config::{Config, ConfigBuilder}; mod api; +mod crypto; type Error = Box;