diff options
author | Katharina Fey <kookie@spacekookie.de> | 2017-12-13 00:20:47 +0100 |
---|---|---|
committer | Katharina Fey <kookie@spacekookie.de> | 2017-12-13 00:20:47 +0100 |
commit | fcc82750219e5c230c2297afb4aa46035fe6c6db (patch) | |
tree | 9d2b7f3d36eecab9b5b7929028885f43218f4948 /src | |
parent | 70177bd780da47c2a0d2ef2ee11ef9d39def74e2 (diff) |
Adding some better utility functions to work with base64 strings
Diffstat (limited to 'src')
-rw-r--r-- | src/vault/crypto/decoding.rs | 12 | ||||
-rw-r--r-- | src/vault/crypto/encoding.rs | 15 |
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(); |