summaryrefslogtreecommitdiff
path: root/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/lib.rs b/src/lib.rs
new file mode 100644
index 0000000..c422e2b
--- /dev/null
+++ b/src/lib.rs
@@ -0,0 +1,47 @@
+mod utils;
+
+use wasm_bindgen::prelude::*;
+
+use std::io::{Read, Write};
+use std::iter;
+
+
+use age::x25519::Recipient;
+
+//use rand::{rngs::OsRng, RngCore};
+
+// When the `wee_alloc` feature is enabled, use `wee_alloc` as the global
+// allocator.
+#[cfg(feature = "wee_alloc")]
+#[global_allocator]
+static ALLOC: wee_alloc::WeeAlloc = wee_alloc::WeeAlloc::INIT;
+
+#[wasm_bindgen]
+extern {
+ fn alert(s: &str);
+}
+
+#[wasm_bindgen]
+pub fn greet() {
+ alert("Hello, {{project-name}}!");
+}
+
+
+#[wasm_bindgen]
+pub fn lalala(plaintext : String) -> Option<Vec<u8>> {
+
+ utils::set_panic_hook();
+
+ let pubkey = "age1m6k5wqnrk63wxhlwtl7s244ngmacn6xph3lxjd3x735f6wm8z4lsysfzg5".parse::<Recipient>().ok()?;
+
+ let encryptor = age::Encryptor::with_recipients(vec![Box::new(pubkey)]);
+
+ let mut encrypted = vec![];
+
+ let mut writer = encryptor.wrap_output(&mut encrypted).ok()?;
+
+ writer.write_all(&plaintext.as_bytes()).ok()?;
+ writer.finish().ok()?;
+
+ Some(encrypted)
+}