aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKatharina Fey <kookie@spacekookie.de>2017-12-13 00:20:47 +0100
committerKatharina Fey <kookie@spacekookie.de>2017-12-13 00:20:47 +0100
commitfcc82750219e5c230c2297afb4aa46035fe6c6db (patch)
tree9d2b7f3d36eecab9b5b7929028885f43218f4948 /src
parent70177bd780da47c2a0d2ef2ee11ef9d39def74e2 (diff)
Adding some better utility functions to work with base64 strings
Diffstat (limited to 'src')
-rw-r--r--src/vault/crypto/decoding.rs12
-rw-r--r--src/vault/crypto/encoding.rs15
2 files changed, 15 insertions, 12 deletions
diff --git a/src/vault/crypto/decoding.rs b/src/vault/crypto/decoding.rs
deleted file mode 100644
index 4dbcb7b..0000000
--- a/src/vault/crypto/decoding.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-//! Decoding stuff
-//!
-
-
-pub fn base64(data: &str) -> Vec<u8> {
-
-
- // let mut encoded = String::new();
- // let string = unsafe { String::from_utf8_unchecked(data.clone()) };
- // base64::encode_config_buf(string.as_bytes(), base64::STANDARD, &mut encoded);
- // return encoded;
-} \ No newline at end of file
diff --git a/src/vault/crypto/encoding.rs b/src/vault/crypto/encoding.rs
index 93b31ae..c15ca96 100644
--- a/src/vault/crypto/encoding.rs
+++ b/src/vault/crypto/encoding.rs
@@ -2,8 +2,23 @@
//!
use std::fmt::Write;
+use std;
use base64;
+
+/// Takes a utf-8 string of raw binary data and converts itto base64 encoded form
+pub fn encode_base64(data: &str) -> String {
+ return base64::encode(data.as_bytes());
+}
+
+/// Takes a base64 string and converts it to raw binary data
+pub fn decode_base64(base64: &str) -> String {
+ let vec = base64::decode(base64).unwrap();
+ let decoded = unsafe { std::str::from_utf8_unchecked(&vec) };
+ return String::from(decoded);
+}
+
+
/// Encode a byte string as base64 symbols
pub fn base64(data: &Vec<u8>) -> String {
let mut encoded = String::new();