aboutsummaryrefslogtreecommitdiff
path: root/lockchain-core/src/crypto/keys.rs
diff options
context:
space:
mode:
Diffstat (limited to 'lockchain-core/src/crypto/keys.rs')
-rw-r--r--lockchain-core/src/crypto/keys.rs48
1 files changed, 0 insertions, 48 deletions
diff --git a/lockchain-core/src/crypto/keys.rs b/lockchain-core/src/crypto/keys.rs
deleted file mode 100644
index 6211851..0000000
--- a/lockchain-core/src/crypto/keys.rs
+++ /dev/null
@@ -1,48 +0,0 @@
-//! A module that handles key generation and key loading
-
-use traits::AutoEncoder;
-use super::utils::{hashing, random};
-
-/// A shared key length parameter for all cryptographic operations
-///
-/// This is *not* ideal and should be replaced with something better
-/// at some point in the future
-pub const KEY_LENGTH: usize = 64;
-
-/// A wrapper to represent a key for encryption
-#[derive(Debug, Serialize, Deserialize, Eq, PartialEq, Clone)]
-pub struct Key {
- pub data: Vec<u8>,
-}
-
-impl AutoEncoder for Key {}
-
-impl Key {
-
- /// Create a new key from scratch
- pub fn generate() -> Key {
- let data = random::bytes(KEY_LENGTH);
- Key { data: data }
- }
-
- /// Use a password as a key
- pub fn from_password(password: &str, salt: &str) -> Key {
- let hashed = hashing::blake2(password, salt);
- let mut vec: Vec<u8> = Vec::new();
- for b in &hashed {
- vec.push(b.clone());
- }
- Key { data: vec }
- }
-
- pub fn to_vec(&self) -> Vec<u8> {
- self.data.clone()
- }
-
- /// Used to get the raw data from this key, as a slice copy
- pub fn to_slice(&self) -> [u8; KEY_LENGTH] {
- let mut slice: [u8; KEY_LENGTH] = [0; KEY_LENGTH];
- slice.clone_from_slice(&self.data);
- slice
- }
-}