projects
/
rup.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Automatically generate a key if the key file isn't found.
[rup.git]
/
src
/
crypto.rs
diff --git
a/src/crypto.rs
b/src/crypto.rs
index
26cbe68
..
16fbaa0
100644
(file)
--- a/
src/crypto.rs
+++ b/
src/crypto.rs
@@
-33,6
+33,12
@@
fn decode_key(key: &str) -> Result<Vec<u8>, KeyError> {
}
\r
}
\r
\r
}
\r
}
\r
\r
+/// Return a random key encoded in base64.
\r
+pub fn generate_key() -> String {
\r
+ let key = rand::thread_rng().gen::<[u8; 16]>();
\r
+ base64::encode(key)
\r
+}
\r
+
\r
/// Encrypt the given text with the given key (first version). The key length must be 128 bits encoded in base64.
\r
/// Ouput formats:
\r
/// * 'version' = 1: "1" + base_64(<IV> + hash(message) + aes(message))
\r
/// Encrypt the given text with the given key (first version). The key length must be 128 bits encoded in base64.
\r
/// Ouput formats:
\r
/// * 'version' = 1: "1" + base_64(<IV> + hash(message) + aes(message))
\r