diff options
-rw-r--r-- | license-generator/Cargo.lock | 1 | ||||
-rw-r--r-- | license-generator/Cargo.toml | 1 | ||||
-rw-r--r-- | license-generator/src/lib.rs | 1 | ||||
-rw-r--r-- | license-generator/src/purchaser.rs | 5 |
4 files changed, 7 insertions, 1 deletions
diff --git a/license-generator/Cargo.lock b/license-generator/Cargo.lock index 2905f0f..448c2d3 100644 --- a/license-generator/Cargo.lock +++ b/license-generator/Cargo.lock @@ -306,6 +306,7 @@ name = "license-generator" version = "0.0.1" dependencies = [ "aquatic-prime 0.0.1", + "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "exitcode 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "fastcgi 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/license-generator/Cargo.toml b/license-generator/Cargo.toml index 531fd57..1e7f703 100644 --- a/license-generator/Cargo.toml +++ b/license-generator/Cargo.toml @@ -4,6 +4,7 @@ version = "0.0.1" [dependencies] aquatic-prime = { path = "aquatic-prime" } +chrono = "0.4.6" error-chain = "0.12.0" exitcode = "1.1.2" fastcgi = "1.0.0" diff --git a/license-generator/src/lib.rs b/license-generator/src/lib.rs index eae9df0..697bfa6 100644 --- a/license-generator/src/lib.rs +++ b/license-generator/src/lib.rs @@ -1,4 +1,5 @@ extern crate aquatic_prime; +extern crate chrono; #[macro_use] extern crate error_chain; diff --git a/license-generator/src/purchaser.rs b/license-generator/src/purchaser.rs index d189c11..60e389a 100644 --- a/license-generator/src/purchaser.rs +++ b/license-generator/src/purchaser.rs @@ -1,3 +1,4 @@ +use chrono::Utc; use mysql; use rand::{self, Rng}; use sha1; @@ -24,10 +25,12 @@ impl<'a> Purchaser<'a> { } fn generate_secret(&mut self) { + let timestamp = Utc::now().timestamp(); + let mut rng = rand::thread_rng(); let random: usize = rng.gen_range(1_000_000_000, ::std::usize::MAX); - let source = format!("{}{}{}", self.name, self.email, random); + let source = format!("{}{}{}{}", self.name, self.email, timestamp, random); let digest = sha1::Sha1::from(source).hexdigest(); self.secret = Some(digest); |