8 releases
0.1.8 | Jan 23, 2024 |
---|---|
0.1.7 | Jan 23, 2024 |
#784 in Cryptography
45 downloads per month
16KB
127 lines
Encryptodon
Pachyderm Goes Private 🐘🕶️
Encryption
// JavaScript (web)
import init, { decrypt, encrypt, generate_keys } from "https://unpkg.com/encryptodon@0.1.8/encryptodon.js";
(async () => {
await init();
const your_keys = generate_keys();
const their_keys = generate_keys();
// your end
const status = "i'm a sneaky elephant 🐘👀";
const encrypted_status = encrypt(status, their_keys.public, your_keys.private);
// their end
const decrypted_status = decrypt(encrypted_status, your_keys.public, their_keys.private);
console.log(decrypted_status); // -> i'm a sneaky elephant 🐘👀
})();
// Rust (embedded)
let your_keys = encryptodon::generate_keys();
let their_keys = encryptodon::generate_keys();
// your end
let status = "i toot privately 🐘💨".to_string();
let encrypted_status = encryptodon::encrypt(status.clone(), their_keys.public(), your_keys.private()).unwrap();
// their end
let decrypted_status = encryptodon::decrypt(encrypted_status, your_keys.public(), their_keys.private()).unwrap();
println!(decrypted_status); // -> i toot privately 🐘💨
Bio Parsing
// JavaScript (web)
import init, { extract_key_from_bio } from "https://unpkg.com/encryptodon@0.1.8/encryptodon.js";
(async () => {
await init();
const bio = "i eat food. 🐘🔑:0bmKKWS04lZzoPC/KlS1kJgWN+XnvBw0yn4PPnot73E=";
const key = extract_key_from_bio(bio);
console.log(key); // -> 0bmKKWS04lZzoPC/KlS1kJgWN+XnvBw0yn4PPnot73E=
})();
// Rust (embedded)
let bio = "🐘🔑:0bmKKWS04lZzoPC/KlS1kJgWN+XnvBw0yn4PPnot73E=\nmore stuff...".to_string();
let key = encryptodon::extract_key_from_bio(bio).unwrap();
println!(key); // -> 0bmKKWS04lZzoPC/KlS1kJgWN+XnvBw0yn4PPnot73E=
Dependencies
~3–4.5MB
~92K SLoC